【学习笔记】javascript函数

【学习笔记】javascript函数

 

函数的定义

 

定义方式一

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

一旦执行到return,代表函数结束,返回结果

如果没有执行return,函数执行完也会返回结果,结果是undefined

image-20220914151812175

 

定义方式二

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

在定义方式er中,function(){...} 是一个匿名函数,但是可以把结果赋给abs,通过abs就可以调用函数了。

方式一与方式二等价

 

调用函数

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

关于调用函数时的参数问题,如果我们定义函数时,只设置了一个参数,而调用函数时却传入多个参数,结果是只有第一个参数起作用。

image-20220914152704596

 

也可以调用函数时不传入参数,这时返回的是NaN,那么如何规避呢?

var abs = function (x) {
    if ( typeof x !== 'number'){
        throw '传入的参数不是数字';
    }
    if (x>=0) {
        return x;
    }else{
        return -x;
    }
}

我们可以判断传入的参数,并且抛出异常

image-20220914153138476

 

如果参数有多个,该如何获取后面的参数呢?

这时需要用到arguments 关键字

arguments 是 JS 免费赠送的关键字,是把所有的参数放到了数组里面

image-20220914154829661

 

这样还有一个问题,是把我们定义的参数也打印出来了。如果我们只想要定义的参数之外的参数,就不能用这个关键字了,可以用rest

 

rest:用来获取除定义的参数之外的参数,ES6引入的新特性

var abs = function (x,b,...rest) {
    console.log("x=" + x);
    console.log("b=" + b);
    console.log(rest)
}

image-20220914155309572

rest参数只能写在最后面,必须用...标识

posted @ 2022-09-14 15:57  GrowthRoad  阅读(20)  评论(0编辑  收藏  举报