HarmonyOS NEXT鸿蒙开发 ArkTS:函数 作者:马育民 • 2025-09-28 23:13 • 阅读:10006 # 介绍 就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。 >在C语言中称之为 **函数** ### 举个栗子 女神想吃饺子,但是女生懒,让我们包饺子。 就是说: - 真正干活的是我们 - 女神调用我们 # 定义函数 格式: ``` function 函数名 (参数列表):返回值类型{ 代码... return ;//可以没有 } ``` ##### 解释: - function: 固定写法 - 函数名:英文字母开头,后面可以是字母、数字、下划线 - 参数列表: - 无参数 - 有参数:如 `a,b,c`,表示形参 - 返回值类型:指定返回值的类型,无返回值时是 `void` - return:返回值,没有返回值不写 `return` ### 例子 ```javascript function baoJiaoZi():void { console.log("买菜买肉"); console.log("洗菜洗肉"); console.log("剁馅"); console.log("和面"); console.log("包饺子"); console.log("煮饺子"); } ``` # 调用函数 函数在定义完毕后,不会自己运行,必须被调用才能执行,调用函数: ```javascript baoJiaoZi(); ``` # 优点 - 使程序变得更简短而清晰。 - 有利于程序维护。 - 可以提高程序开发的效率。 - 提高了代码的重用性。 ### 例子 继续定义火锅函数 ```javascript function huoguo() { System.out.println("买菜买肉"); System.out.println("洗菜洗肉"); System.out.println("涮肉"); } function baoJiaoZi() { System.out.println("买菜买肉"); System.out.println("洗菜洗肉"); System.out.println("剁馅"); System.out.println("和面"); System.out.println("包饺子"); System.out.println("煮饺子"); } //调用函数 baoJiaoZi(); ``` 优化程序: ```java function huoguo():void { System.out.println("涮肉"); System.out.println("涮菜"); } function baoJiaoZi():void { System.out.println("剁馅"); System.out.println("和面"); System.out.println("包饺子"); System.out.println("煮饺子"); } function maiXi():void{ System.out.println("买菜买肉"); System.out.println("洗菜洗肉"); } // 包饺子,可以调用maiXi() maiXi(); baoJiaoZi(); // 吃火锅,也可以调用maiXi(),没有写重复代码 maiXi(); huoguo(); ``` # 函数的形参(形式参数) 比如数学公式:`z=x+y` ,要将数字代入到公式中进行计算,得到z 函数中的形参,相当于上面公式的 `x`、`y`,在定义时,必须指明 **形参类型**、**形参名**,**不要给形参赋值** ### 例子 定义一个函数,函数有2个形参,都是int型,打印这2个形参的和 ```java //定义函数 function sum(a:number, b:number):void { console.log(a + b); } //调用函数 sum(1,2); ``` ### 注意 定义形参后,必须要传值,而且类型要匹配 # 返回值 以数学为例,要将数字代入到公式中进行计算,如:`z=x+y`,得到结果后,将该结果代入到另一个公式中,继续运算 函数的返回值也是如此,执行后,需要返回一个结果 ### 例子: 定义一个函数,函数有2个形参,都是int型,返回这2个形参的和 ```javascript /* 定义计算两个整数和的函数 返回值类型,计算结果是int 参数:不确定数据求和,定义int参数.参数又称为形式参数 */ function sum(a:number, b:number):number { return a + b; } // 调用函数getSum,传递两个整数,这里传递的实际数据又称为实际参数 // 并接收函数计算后的结果,返回值 int sum = sum(5, 6); console.log(sum); ``` 程序执行,主函数 main 调用 getSum 函数,传递了实际数据 5和6 ,两个变量 a和b 接收到的就是实际参数,并 将计算后的结果返回,主函数 main 中的变量 sum 接收的就是函数的返回值。 # 不能有同名函数 ``` function sum(a, b) { return a + b; } function sum(a, b, c) { return a + b + c; } //sum(1,2);//调用失败 sum(1,2,3);//成功 ``` 原文出处:http://www.malaoshi.top/show_1GW1wiHUnlbD.html