鸿蒙开发TypeScript第五课:方法或者函数

方法就是函数,函授就是方法,不纠结。

方法用的好,少写很多代码

直接上示例代码:
@Entry
@Component
struct Lesson_5_function_Page {
  @State message: string = 'Lesson_5_function_Page';

  // 1、参数和返回类型都明确写
  myAddFunction(a:number,b:number):number{
    return a+b
  }

  // 2、没返回值可以不写
  myAddNo(a:number,b:number){

  }

  // 3、给变量赋值函数 (也是箭头函数)
   myFunction: (x: number, y: number) => number = (a: number, b: number) => {
    return a + b;
  };

  // 4、可选参数用? (函数的可选参数只能在参数列表的尾部,跟在必选参数的后面)
  myAddFunctionKeXuan(a:number,b?:number):number{
    if (b) {
      return a+b
    }
    return a
  }

  // 5、参数默认值 (默认值和可选不能同时设置,如果传进来的是undefined,用的是默认值)
  myFunctionMoRen(a:number ,b:number = 100){

  }

  // 6、还可以用...(参数必须是数组或者元组)
  myFunctionMore(name:string ,...b:number[]){
    for (let i = 0; i < b.length; i++) {
      // 操作数组
    }

  }

  // 7、回调函数 (即参数是一个方法)
  myFunctionCallbackTest(code:number,callback:(msg:string) =>void){
    if (code == 200) {
      callback("成功")
    }
  }

  // 8、高阶函数 (返回值也是一个方法)
  createMultiplier(factor: number): (x: number) => number {
    return (x: number) => x * factor;
  }


  aboutToAppear(): void {
    this.myFunctionMoRen(10)
    this.myFunctionMoRen(10,12)
    this.myFunctionMore("张三")
    this.myFunctionMore("张三",11)
    this.myFunctionMore("张三",11,12)

    // 使用回调函数
    this.myFunctionCallbackTest(200,(str:string)=>{
      logContent("congge",str)
    })

    let double = this.createMultiplier(2);
    logContent("conggeGaojie",double(10))
  }
教程项目的全部源码图:

在这里插入图片描述

有需要完整教程demo的私信我,我每天都看私信的。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐