Es6----参数增强

参数增强:
1.参数默认值
即使调用函数时没有传入实参值,对应的形参变量也有默认值可用
function 函数名(形参1=值1,形参2=值2,…){…}
a.如果调用函数时,形参变量对应的位置传入了用户自定义的实参值,则优先使用用户自定义的实参值
b.如果调用函数时,形参变量对应的位置没有传入实参值,则启用默认值
局限:只能解决结尾几个形参变量有没有实参值的情况,无法解决中间或开头形参变量的缺少
2.剩余参数
专门代替arguments来解决不确定实参值个数的问题
今后:只要一个函数调用时不确定传入几个实参值时,都用剩余参数语法代替arguments
arguments的问题:
a.不是纯正的数组类型,无法使用数组家的函数
b.arguments只能获得全部实参值,不能有选择的获得全部实参值
c.es6箭头函数禁止使用arguments
如何:
定义函数时:…会自动收集除前几个形参变量外剩余的所有实参值
function 函数名(形参1,形参2,…自定义函数名){
收集的所有实参值,会自动放在自定义数组中
}
强调:
es6语法规定,…必须放在形参列表的结尾
优点:
a. es6箭头函数中允许使用…arr
b. …arr是纯正的数组类型,可以使用数组家的函数
c. …arr可以有选择的获取除之前的形参之外剩余的所有实参值

	var add=(...arr)=>arr.reduce( (box,elem)=>box+elem,0 )
	console.log(add(1,2,3));//6
	function jisuan(ename,...arr){
		var sum=arr.reduce((box,elem)=>box+elem,0)
	}
	jisuan("lilei",100,200,300);
	jisuan("hmm",900,800,700);
3.打散数组
	专门将一个数组或对象整体打散为多个值,再使用
	调用函数时,函数名(...数组名)
	总结:
		定义函数时,...表示收集,调用函数时,...表示打散!
	原理:
		先把数组打散为多个值,再将多个值一次分别传给函数的形参变量
	var arr=[1,3,5,7];
	console.log(Math.max(...arr));
	console.log(Math.min(...arr));
关于语法糖:
	a.复制一个数组,var arr2=[...arr1];
	b.拼接两个数组以及其他元素 var arr3=[元素1,...arr1,元素2,...arr2];
	c.复制一个对象 var obj2={...obj1};
	d.拼接多个对象以及属性 var obj3={属性1,...obj1,属性2,...obj2}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值