JS学习笔记-函数

JS学习笔记-函数

定义函数

定义方式一

绝对值函数

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

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

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

定义方式二

var abs = function(x){		//这是一个匿名函数,但可以将结果赋值给abs,通过abs可调用函数
    if(x > 0)
        return x;
    else
        return -x;
}

调用函数

abs(2)	//2
abs(-2)	//2

注意:JavaScript中可以传递任意个参数,也可以不传递参数

  • 假设不存在参数,如何规避
var abs = function(x){
    //手动抛出异常
    if(typeof x !== 'number'){
        throw 'Not a number';
    }
    if(x >= 0){
        return x;
    }else
        return -x;
}
  • 存在多参数时

arguments

arguments是一个JS免费赠送的关键词

代表传递进来的所有的参数,是一个数组

var abs = function(x){
    
    console.log("x->" + x);
    
    for(var i = 0; i < arguments.length; i ++){
        console.log(arguments[i]);
    }
    
    if(x >= 0){
        return x;
    }else
        return -x;
}

但是,arguments包含所有的参数,当我们想使用多余的参数来进行附加操作时,使用arguments排除掉已有的参数显然使得代码有些复杂

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

rest

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

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

注意!rest参数只能写在最后面,必须用…标识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值