ES6学习第三篇--函数参数的扩展

默认参数

1. 基本用法

function fn(name,age=17){
 console.log(name+","+age);
}
fn("Amy",18);  // Amy,18
fn("Amy","");  // Amy,
fn("Amy");     // Amy,17

运行结果图:
在这里插入图片描述

2. 默认参数中不允许有同名参数

js代码:

// 不报错
function fn(name,name){
 console.log(name);
}
 
// 报错
//SyntaxError: Duplicate parameter name not allowed in this context
function fn(name,name,age=17){
 console.log(name+","+age);
}

运行结果图:
在这里插入图片描述

3. 默认参数生效场景

只有在未传递参数,或者参数为 undefined 时,才会使用默认参数,null 值被认为是有效的值传递。
js代码:

function fn(name,age=17){
    console.log(name+","+age);
}
fn("Amy",null); // Amy,null
fn("Amy",undefined); // Amy,17

运行效果图:
在这里插入图片描述
js代码:

function f(x,y=x){
    console.log(x,y);
}
f(1);  // 1 1

运行效果图:
在这里插入图片描述

4. 默认参数不生效场景

函数参数默认值存在暂时性死区,在函数参数默认值表达式中,还未初始化赋值的参数值无法作为其他参数的默认值。
js代码:

function f(x=y){
    console.log(x);
}
f(); 

运行效果图:
在这里插入图片描述

不定参数

不定参数用来表示不确定参数个数,形如,…变量名,由…加上一个具名参数标识符组成。具名参数只能放在参数组的最后,并且有且只有一个不定参数。
js代码:

function f(...values){
    console.log(values.length);
}
f(1,2);      //2
f(1,2,3,4);  //4

运行效果图:
在这里插入图片描述
上一篇:ES6学习第二篇–箭头函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值