繁体   English   中英

Array()和Array.prototype用法

[英]Array() and Array.prototype usage

首先,如果答案显而易见,并且/或者很容易找到,我想请求借口。 我没有找到任何完整的答案。

问题很简单:

var array1 = Array().slice.call(arguments,1);
var array2 = Array.prototype.slice.call(arguments,1);

他们做同样的事情。 你能用这种方式做Object,Date,String等原型

是的,你可以,因为每个实例都继承自其构造函数的原型。

(new Array()).slice (或更好, [].slice )与Array.prototype.slice完全相同。

第二种方法更好,因为您没有创建一个未使用的数组。 使用第一种方法,您构建一个数组,然后使用动态原型链解析来定位它的切片方法,然后使用您的参数作为上下文进行call 第二种方法直接访问slice方法,因此您将避免对象创建和原型链解析,因此它更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM