前言
臭宝们终于来到了ArkTS基础之函数,今天我们来学习一下ArkTS的函数的相关知识,上一节中也有一些函数的基础知识。
函数声明
函数声明引入一个函数,包含其名称、参数列表、返回类型和函数体,在下面的例子中,我们声明了一个名为add的函数,它有两个number类型的参数和一个返回类型为number的结果。
function add(a: number, b: number): number {return a + b;
}
函数的作用域
函数中定义的变量和其他实例仅可以在函数内部访问,不能从外部访问。
如果函数中定义的变量与外部作用域中已有实例同名,则函数内的局部变量定义将覆盖外部定义。
函数调用
函数调用时,需要传入正确的参数。
add(1, 2); // 返回3
箭头函数
箭头函数是ES6中引入的,它提供了一种更简洁的方式来编写函数表达式。
const add = (a: number, b: number): number => {return a + b;
};
闭包
闭包是由函数及声明该函数的环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。
在下例中,f函数返回了一个闭包,它捕获了count变量,每次调用z,count的值会被保留并递增。
function f(): () => number {let count = 0;let g = (): number => { count++; return count; };return g;
}let z = f();
z(); // 返回:1
z(); // 返回:2
函数重载
ArkTS支持函数重载,即同一个函数可以有多个定义。注意,两个函数的参数必须不同。
function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {if (typeof a === 'string' || typeof b === 'string') {return `${a}${b}`;} else {return a + b;}
}add(1, 2); // 返回3
add('hello', 'world'); // 返回"helloworld"
结尾
臭宝们,今天的内容就到这里了,快去试试吧!