关于JavaScript函数参数的理解

关于JavaScript函数参数的理解

1.理解参数
  • 函数参数与其他语言的有所不同,JavaScript函数不会在乎你传进来多少个参数。
  • 函数参数内部是用一个arguments的数组来表示,参数只提供便利而不是必须的。
  • 通过访问arguments对象的长度可以知道有多少个参数传递给了函数。
//封装一个计算和的函数、
function add() {
    let sum = 0;
    for (let i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}
console.log(add(1, 2, 3));   //6

可以知道函数内部的参数其实就是一个数组。

2.参数与arguments的关系
function add(num1,num2){
    if(arguments.length==1){
        console.log(num1+10);
    }else if(arguments.length==2){
        console.log(arguments[0]+num2)
    }
}


num1==arguments[0]  
num2==arguments[1]
  • 命名参数可以和arguments对象一起使用,两者的值保持同步,注意一点就是两个值并非在同一个内存空间
  • 传入一个值,则arguments[1]不会反映到命名参数中,arguments对象的长度取决于传入的参数
3.没有重载
  • JavaScript中的函数没有重载的定义
  • 如果声明了两个同名的函数,取决于后定义的函数
  • 可以检查函数中参数类型和数量做出不同的反应来模拟重载
function add(num){
    return num+1;
}

function add(num){
    return num+2;
}

console.log(add(1));   //3

ps:笔者最近开通了微信公众号,大家可以关注一下哦,谢谢大家的支持!

全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务