2-6 JavaStrip函数参数默认值

同名参数

如果有同名参数,会取最后那个的值(避免同名参数);

//同名参数
function fn(n,n){
    console.log(n);
}
fn(5,7);    //7
fn(1);  //undefined

默认参数

ES6允许直接给参数设置默认值;
注意:不能在函数内对参数再次进行let或者const的声明;

//默认值
function fn1(str){
    var str=str||'黄小腿';
    console.log(str);
}
fn1('黄大腿');   //黄大腿
fn1();  //黄小腿
fn1(0); //黄小腿
fn1('');    //黄小腿
fn1(null);  //黄小腿


//ES6默认参数
const fn2=(n1=2,n2=10)=>{
    console.log(n1+n2); 
}
fn2();  //12
fn2(10,20);//30

函数的length属性形参的数量

1、用了默认值的参数,不会计入length里;
2、rest参数不会计入length里;

//length(函数形参的个数)
function fn4(v1,v2,v3,v4){}
fn4(1,2,3,4,5,6,7);
console.log(fn4.length);    //4 
const fn5=(a,b=20)=>{}
console.log(fn5.length); //1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [TOC] 参考阮一峰的ECMAScript 6 入门参考深入浅出ES6 let和const let和const都...
    郭子web阅读 5,819评论 0 1
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 8,978评论 0 1
  • 1.函数参数的默认值 (1).基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
    赵然228阅读 4,123评论 0 0
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    陈老板_阅读 3,325评论 0 1
  • 函数参数的默认值 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法 上面代码检查函数log的参数y...
    无迹落花阅读 1,468评论 0 1

友情链接更多精彩内容