函数


函数的定义

函数本质上是自变量和因变量之间关系的一种抽象描述,在JavaScript中我们这样定义一个函数:

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

上述add函数的定义如下:

请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined。

还有另外一种定义函数的方式:

                    var add = function(a,b){
                        return a + b;
                    }
                

上述代码所示,function(){...}函数是一个匿名函数。将一个匿名函数赋值给一个变量,我们就可以使用它对函数进行调用。两种定义函数的方法是 等价的。

arguments

在函数体的内部,我们可以通过一个内置的arguments关键字查看函数被调用时的所有参数。

                    function getArgs(a,b){
                        //只有a,b接收到了参数
                        console.log(a,b);
                        for (let arg of arguments){
                            console.log("arg:",arg); 
                        }
                    }
                    getArgs(2,4,6); //参数a等于2,参数b等于4,arguments 包含2,4,6
                    getArgs(2);   //参数a等于2,参数b等于undefined,arguments 只有2
                

可变参数

如果函数接收的参数列表长度是不确定的,我们可以引入一个可变参数接收,方便对参数的操作

                    function getVarArgs(a,b,...rest){
                        console.log(a,b);
                        if (rest){
                            for (let item of rest){
                                console.log(item)
                            }
                        }
                    }
                    getVarArgs(11,14);
                    getVarArgs(11,14,17,18);
                

上述代码所示,如果a,b参数是确定的,而后续的参数是不确定的,就可以用...rest的可变参数进行接收。在函数体内部rest可以看成是一个数组, 操作非常方便。

本节重点: