登录    关于
马育民老师的博客

马育民的博客

QQ:65242847

JavaScript教程:函数

介绍

就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。

当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

在C语言中称之为 函数

举个栗子

女神想吃饺子,但是女生懒,让我们包饺子。

就是说:

  • 真正干活的是我们
  • 女神调用我们

定义函数

方式一

格式:

function 函数名 (参数列表){
    代码...
    return ;//可以没有
}
解释:
  • function: 固定写法

  • 函数名:英文字母开头,后面可以是字母、数字、下划线

  • 参数列表:

    • 无参数

    • 有参数:如 a,b,c,表示形参

  • return:返回值,没有返回值不写 return

例子:
function baoJiaoZi() {
    console.log("买菜买肉");
    console.log("洗菜洗肉");
    console.log("剁馅");
    console.log("和面");
    console.log("包饺子");
    console.log("煮饺子");
}

方式二

var 函数名 = function (参数列表){
    代码...
    return ;//可以没有
}
例子
var baoJiaoZi = function () {
    console.log("买菜买肉");
    console.log("洗菜洗肉");
    console.log("剁馅");
    console.log("和面");
    console.log("包饺子");
    console.log("煮饺子");
}

调用函数

函数在定义完毕后,不会自己运行,必须被调用才能执行,调用函数:

baoJiaoZi();

优点

  • 使程序变得更简短而清晰。
  • 有利于程序维护。
  • 可以提高程序开发的效率。
  • 提高了代码的重用性。

例子

继续定义火锅函数

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();

优化程序:

function huoguo() {
    System.out.println("涮肉");
}
function baoJiaoZi() {
    System.out.println("剁馅");
    System.out.println("和面");
    System.out.println("包饺子");
    System.out.println("煮饺子");
}
function maiXi(){
    System.out.println("买菜买肉");
    System.out.println("洗菜洗肉");
}

//调用函数
maiXi();
baoJiaoZi();

函数的形参(形式参数)

比如数学公式:z=x+y ,要将数字代入到公式中进行计算,得到z

函数中的形参,相当于上面公式的 xy,在定义时,必须指明 形参类型形参名不要给形参赋值

例子

定义一个函数,函数有2个形参,都是int型,打印这2个形参的和

//定义函数
function sum(a, b) {
    console.log(a + b);
}

//调用函数
sum(1,2);

注意

定义形参后,必须要传值,而且类型要匹配

返回值

以数学为例,要将数字代入到公式中进行计算,如:z=x+y,得到结果后,将该结果代入到另一个公式中,继续运算

函数的返回值也是如此,执行后,需要返回一个结果

例子:

定义一个函数,函数有2个形参,都是int型,返回这2个形参的和

/*
    定义计算两个整数和的函数
    返回值类型,计算结果是int 参数:不确定数据求和,定义int参数.参数又称为形式参数 */
function sum(a, b) {
    return a + b;
}

// 调用函数getSum,传递两个整数,这里传递的实际数据又称为实际参数
// 并接收函数计算后的结果,返回值
int sum = sum(5, 6);
console.log(sum);

程序执行,主函数 main 调用 getSum 函数,传递了实际数据 5和6 ,两个变量 a和b 接收到的就是实际参数,并 将计算后的结果返回,主函数 main 中的变量 sum 接收的就是函数的返回值。

不能重载

与java不同,不能重载

function sum(a, b) {
    return a + b;
}

function sum(a, b, c) {
    return a + b + c;
}

//sum(1,2);//调用失败
sum(1,2,3);//成功

原文出处:https://malaoshi.top/show_1IX1Hqm9mNWi.html