赞
踩
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")
- })
-
下一章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。