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和Parameters用法解析

es6中用于确定调用者函数的arguments.callee替代方案[重复]

arguments 对象是不是应该是 ES6 中的可迭代对象?

JS笔记:函数

js的apply call bind arguments

JS函数设置默认参数值