JS ES6中Arguments和Parameters的区别
Posted quanquanchacha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS ES6中Arguments和Parameters的区别相关的知识,希望对你有一定的参考价值。
1、简谈Arguments和Parameters
通常情况下Arguments和Parameters是可以互相使用的,但是在大多数的标准中这两个还是有那么一丢丢的却别的,Parameters(形式参数)指声明函数名和函数体的时候使用的参数,而Arguments(实际参数)指在函数实际调用的时候传入的确定值
1 function demo(a,b){ 2 console.log(a,b); 3 } 4 demo(1,2);
咱们就上面的函数来说,a、b是函数的形式参数,而在函数的调用中1、2是函数的实际参数,哈哈~~~差不多就是个这吧,下边再来说说ES6中新增的几种参数的处理方法,感觉还有点意思
2、扩展操作符
下边来看一段代码:
1 var Array=[5,10,15,20]; 2 console.log(Math.max(Array));//NaN
Math.max()不支持传入数组,它只会接受数字。但是我们想要使用这个方法咋办呀,没关系,我们有的是办法:
1 var Array=[5,10,15,20]; 2 console.log(Math.max.apply(Math,Array));//20
这不就可以了,加上apply()方法后,数组就会被转化为单独的数字,还是指向Math,就能被Math.max()处理了。
但是,看好了,因为ES6的升级,给我们带来了更加便捷的体验:
1 var Array=[5,10,15,20]; 2 console.log(Math.max(...Array));//20
哈哈哈,是不是非常的方便呢,扩展操作符把Array展开独立的数值传给参数,我们也可以使用ES5中的apply()来模仿操作符的方法,不过它的优点可不止这些,我们明天继续吧!!!
以上是关于JS ES6中Arguments和Parameters的区别的主要内容,如果未能解决你的问题,请参考以下文章
es6中用于确定调用者函数的arguments.callee替代方案[重复]