Nic*_*ght 5 javascript foreach angularjs
我刚刚查看了今年ng-europe会议上的一些照片,并注意到我认为可能会显示来自即将到来的Angular 2的一些代码.请看这里:
(来源:https://plus.google.com/u/0/photos/+ThierryLAU/albums/6073085583895256529/6073092865671487010?pid = 6073092865671487010 &oid = 105910465983441810901)
为什么此代码的作者Array.prototype.forEach.call(array, cb)
优先使用较短的和(在我看来)等效版本array.forEach(cb)
.我能想象的唯一原因是性能影响.
有人知道另一个区别吗?或者我的性能猜测可能是正确的吗?
有许多类似于Array的对象看起来像数组,但不是.举几个:
arguments
children
和childNodes
收藏品document.getElementsByClassName
和等方法返回的NodeList集合document.querySelectorAll
许多数组原型方法都是通用的,这意味着它们的内部实现不依赖于上下文this
作为Array
构造函数的实例.这允许在"看起来"像数组的其他对象的上下文中调用这些方法.即,看起来像数组意味着该对象具有数字键和长度属性.
这是一个无用的示例,说明如何调用Array.prototype.join
类似自定义数组的对象:
Array.prototype.join.call({0: 'one', 1: 'two', length: 2}, ' ');
Run Code Online (Sandbox Code Playgroud)
上面会输出字符串"one two"
.但是提供的对象显然不是数组.
归档时间: |
|
查看次数: |
728 次 |
最近记录: |