ArkTS中函数的声明与调用
目录
函数的基础
1.定义和作用:
定义:函数可以把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用。
作用:函数 可以被重复使用的 代码块
2.函数声明:
函数声明通常包括函数名、参数列表、返回类型和函数体。
//函数声明
fnnction 函数名() {
函数体
}
函数名() //调用函数
3.示例:
//声明函数
function sum() {
let res: number = 10 + 20
console.log('相加的结果是:', res)
}
sum() //调用函数 输出结果
注意点:
- 函数定义的时候,{ }里面的方法体 不会被执行
- 函数被调用时,方法体才会被执行
- function 定义的方法 是会被提到最前面执行
函数的参数形式
1.定义和作用
定义:数的参数形式指的是函数在定义和调用时传递参数的不同方式。
作用:函数能够接收和处理外部的数据,提高函数的灵活性和通用性。
-
1.定义函数(形参)
-
function 函数名 ( 形参1:类型 ,形参2:类型,,, ) { }
-
-
2.调用函数(实参)
-
函数名 ( 实参1 ,实参2,,, )
-
2.区分:
形参:形式上的参数(函数定义时候写的参数)
实参:真实数据(函数调用时候的传入的真实数据)
3.示例:
// 定义带有参数的函数
function sum(num1: number, num2: number) {
let res: number = num1 + num2
console.log("相加的结果是:", res)
}
// 调用函数
sum(20, 30) //相加的结果是:50
sum(15,25) //相加的结果是:40
可选参数形式(扩展)
函数在定义的时候,设置了形参入口,但是在调用的时候并不是任何时候都需要传入实参数据,为了避免报错,我们可以将形参设置为可选参数, 或者给形参设置一个默认值
//语法: 形参名?:类型
function sayHi(msg?: string) {
console.log('打招呼:', msg)
}
sayHi('Hello') //传了实参
sayHi() //没有传实参(如果形参不设置可选,就会出现报错)
参数形式——赋默认值(扩展)
在一些情况下,形参的数值不能为 undefined, 否则容易引起程序的崩溃,否则其计算的结果不能使用到业务逻辑当中. 这时候就需要使用到默认值的形式了
function sum(x: number = 0, y: number = 0) {
let res: number = x + y
return res
}
console.log('结果是', sum()) //没有实参,则默认传入 0 0 结果是:0
console.log('结果是', sum(1, 2)) //结果是:3
函数的返回值
默认情况下,函数外部无法直接使用函数内部执行结果。
如果想要在函数外部使用内部执行结果,需要将这个结果设置为函数的返回值。
使用步骤:
-
1. 在函数方法体内部 通过 return 将结果返回
-
2. 在调用这个函数的时候:使用一个变量来接收它的返回结果
返回值作用:将函数的执行结果传递给其他部分使用(函数外部)。
示例:
// 函数的返回值
function sum(num1: number, num2: number) {
let res: number = num1 + num2
// 返回res的结果(才在外部使用)
return res
}
//调用的时候,先存储返回值,再使用返回值
let resNum: number = sum(100, 200)
console.log("res的值为:", resNum)
注意点:
-
返回值 return 一般写在函数体的最下面
-
函数内一旦写了 return ,那么 return 后面的代码不再执行
-
调用的时候,先存储返回值,再使用返回值
箭头函数
箭头函数是 比普通函数 更简洁 的一种函数写法
-
场景:
-
在ArkUI阶段,给一个元素注册事件的时候,都是使用箭头函数
-
1.不带参数
-
语法:
-
let 函数名 = ()=> { }
-
let preName=() =>{
console.log("李白")
}
preName()
2.带参数的箭头函数
-
语法:
-
let 函数名 = (参数:类型)=> { 方法体 }
-
let preName2=(name:string)=>{
console.log(name)
}
preName2("杜甫")
3.有参数有返回值的写法
-
语法:
-
let 函数名 = (参数:类型)=> { 方法体 return }
-
let preName3=(name:string)=>{
return name
}
let resName:string =preName3("苏轼") // 接收返回值
console.log(resName) // 打印结果
函数声明方式和调用方法总结
声明方式:
-
1.不带参数
-
场景:方法体的代码 完全固定,没有变化
-
形式:function 函数名 ( ) { 方法体 }
-
-
2.带参数
-
场景:方法体的执行逻辑是可变化的,从外部传进来的,运算是固定的
-
形式:function 函数名 ( 形参 : 类型,,, ) { 方法体 }
-
-
3.带返回值
-
场景:当一个函数体之后,需要将这个返回值 给函数外部使用
-
形式:
-
function 函数名 ( ) { 方法体 return 结果 }
-
function 函数名 ( 形参 : 类型,,, ) { 方法体 return 结果 }
-
-
-
4.综合的写法
-
场景:既有形参又有返回值的这种写法
-
形式:function 函数名 ( 形参 : 类型,,, ) { 方法体 return 结果 }
-
调用函数:
-
函数名 ( ) //基础调用函数
-
函数名 ( 实参 ) //函数一定要有形参来接收
-
函数一旦调用,就可以获取函数内部的执行结果,如果没有 return关键字 则返回一个具体的数据
-
如果为空,则默认返回的是 undefined
小结:
函数是一种封装代码块,可以通过声明(无参数、有参数、有返回值、综合写法)来定义,并通过调用(基础调用或传递实参)来执行,执行结果可通过return返回或默认返回undefined。
你的点赞就是我持续更新最大的动力!
#HarmonyOS #鸿蒙开发