函数

函数

4.1、定义函数

定义方式一

绝对值函数

 function abs(x){
            if (x>=0){
                return x;
            }else{
                return -x;
            }
        }

一旦执行到return代表函数结束,返回结果! 如果没有执行return,函数执行完也会返回结果,结果就是undefined

定义方式二

  let abs2 = function (x){
            if (x>=0){
                return x;
            }else{
                return -x;
            }
        };

function (x){....}这是一个匿名函数。但是可以把结果赋值给abs2。通过abs2就可以调用函数! 方式一和方式二等价!

调用函数

abs(10) //10
abs(-10) //10

参数问题:JavaScript可以传任意个参数,也可以不传递参数~ 参数进来是否存在的问题? 假设不存在参数,如何规避?

let abs2 = function (x){
            //手动抛出异常来判断
            if(x!=='number'){
                throw 'Not a Number';
            }
            if (x>=0){
                return x;
            }else{
                return -x;
            }
        };

arguments

arguments是一个js免费赠送的关键字;代表,传递进来的所有的参数,是一个数组!

 let abs2 = function (x){
            console.log("x->"+x);

            for (let i=0;i<arguments.length;i++){
                console.log(arguments[i]);
            }

            //手动抛出异常来判断
            // if(x!=='number'){
            //     throw 'Not a Number';
            // }
            if (x>=0){
                return x;
            }else{
                return -x;
            }
        };

问题:arguments包含所有的参数,我们有时候想使用多余的参数来进行附加操作。需要排除已有参数

rest

以前:

if(arguments.length>2){
            for (let i = 2;i<arguments.length;i++){
            }
        }

ES6引入的新特性,获取除了已经定义的参数之外的所有参数~

  function aaa(a,b,...rest){
        console.log("a->"+a);
        console.log("b->"+b);
        console.log(rest);
    }

rest参数只能写在最后面,必须用...表示

 
posted @ 2022-07-07 23:36  少时凌云志  阅读(41)  评论(0)    收藏  举报