首页 > 数组直接量与构造函数之间的区别

数组直接量与构造函数之间的区别

今天学习call和apply,发现了以下问题>

[].shift.apply( arguments )为什么不需要指定this;
Array.prototype.push.call()和[].prototype.oush.call()的区别???
希望能有人给我解答下,谢谢~


  1. arguments就是指定的this

  2. []没有prototype属性,构造函数才有这个属性,一般对象是没有的。要用也应该是[].push.call(...)。要说区别的话,[].push方法就是从Array.prototype继承来的,所以是等价的。不过前者浪费了一个[]对象,更耗一点内存。

【热门文章】
【热门文章】