PS:在有关TS的博客中呢,我想声明一点,如果是零基础没有开发经验的小伙伴,直接学鸿蒙会有些吃力,可以先学一下TS,比较好入手一些,鸿蒙主推的开发语音是ArkTS,是TS的超集,先学习和了解TS,更方便更快捷的能够学会ArkTS。
函数:
定义:是一组一起执行的一个任务语句,函数声明要告诉编译器函数的名称,返回类型和参数,TS可以创建有名字的函数和匿名函数。
个人理解:
函数就是方法,方法就是把某一个功能的代码封装成一个方法,需要定义方法名,方法返回值,以及方法调用时的传参类型,传参数量等,大多数都是有方法名的方法,还可以写匿名方法。
普通 函数/方法(有名字的函数/方法):
//普通函数/方法
//单纯的定义 还没调用
function add(x:number,y:number):number{
return x + y
}
//调用函数:
let result :number = add(1,2)
console.log(result) //结果为3
//解读函数的各个部件是什么:
function:声明,这是一个方法。必须要有,定义方法就要有function,告诉编译器这是一个方法
add:函数名 又或者叫 方法名
(x:number,y:number) : 调用add方法,需要传入的参数,一共两个参数x和y,都是number数值类型,调用
add方法时,只能传入number类型
:number :方法返回类型
return: 返回值,返回传进来的两个参数的和。
定义完之后,方法并不会执行,需要自己手动调用,如:add(1,2) / console.log(add(1,2)) 打印3
匿名函数
//匿名函数
//错误写法:
function(x:number,y:number){ ****
reutrn x+y **** 这么写会直接报错。
} ****
//正确写法:
let add_func = function(x:number,y:number){ ***
reutrn x+y *** 可以理解为定义了一个匿名函数,把匿名函数赋
*** 赋值给了变量add_func
} ***
//调用匿名函数
console.log(add_func(10,20))
可选参数的函数
参数名后添加'?' 该参数可以在调用方法时不传这个参数
//可选参数的函数
function test1(x:number,name?:string):void{
console.log(x,name)
}
//解读:
name就是可选参数,可以传也可以不传。
void:无返回值的方法
调用:test(1,"hello") | test(1)
剩余参数
剩余参数会被当做个数不限的可选参数,可以一个都没,也可以有任意个,可以使用
省略号(...)进行定义
//剩余参数
function test2(x:number,...other:Array<string>):void{
console.log(x)
if(other.lenth == 0){
console.log("剩余参数没有传,other长度为0")
}else{
let i : any
for(i in other){
console.log(other[i])
}
}
}
调用:other(20,'abc','dbc')
箭头函数
ES6版本的TypeScript 提供了一个箭头函数,它是定义匿名函数的简写语法,用于函数表达式
省略了function关键字,在ArkTS中会常用。
语法: 单独调用是不行的。需要当做参数传递,或者直接传递给另一个变量
(x:number,y:number) => {
return x + y
}
//传递给另一个变量
let test3 = (x:number,y:number) => {
return x + y
}
//打印调用。
console.log(test3(10,30))
样例 1:
let testArrowFun = (num : number) => {
if(num > 0){
console.log(num+'是正数')
}else if (num < 0){
console.log(num+'是负数')
}else {
console.log(num+'为0')
}
}
样例 2:
在鸿蒙os开发中会经常用到,例如给一个按钮一个点击事件
Button("Click Now")
.onClick(() => {
console.info("Button is click")
})
下一章:
Android 学习 鸿蒙HarmonyOS 4.0 第七章(TS中的类和对象)