在Javascript中,是否有理由更喜欢
这是:
[].forEach.call(...)在这方面:
[].prototype.forEach.call(...)。。?
发布于 2014-03-06 17:00:00
第一个是较短的,因此更容易阅读,并有可能防止水平滚动。
第二个是马车,因为没有[].prototype (你是说[].constructor.prototype吗?)
第三个应该是
Array.prototype.forEach.call(...)这一个更直接,理论上更快,因为你得到的第一个间接的属性,实际上,附加到原型。
发布于 2014-03-06 17:04:11
第二个例子不起作用,所以如果我们把它修正为.
Array.prototype.forEach.call现在,如果我们将其与[].forEach.call进行比较,区别在于,对于原型版本,您不会创建一个丢弃的数组对象。
这在实践中是否有任何不同,取决于你的具体情况。如果您重复这样做数百次或数千次,与直接通过原型调用函数相比,创建这些丢弃的数组对象会导致更高的内存使用量和更慢的GC清除速度。
https://stackoverflow.com/questions/22231032
复制相似问题