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()来模仿操作符的方法,不过它的优点可不止这些,我们明天继续吧!!!

猜你喜欢

转载自www.cnblogs.com/quanquanchacha/p/9757764.html