javascript – 什么是Object([]);做?

前端之家收集整理的这篇文章主要介绍了javascript – 什么是Object([]);做?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在一些数组原型函数的MDN中的几个聚合填充示例中,有以下两行(例如: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find):
var list = Object(this);
var length = list.length >>> 0;

我认为第一个例子是autoBoxing(?).但是,无论如何,无论如何总是将它成为一个数组,它的目的是什么?

和第2行,这有什么不同:

var length = list.length || 0;

谢谢!

解决方法

这使得可以在遵循规范的情况下在严格模式下调用不是数组的功能(使用调用或应用).

如果它是一个Array的实例,或类似数组的对象,它不会改变.

但是在这里,由于这个行确保列表是一个对象,跟随一个检查,这不是null或未定义,并且其他值不会使以下访问失败(除了非常特殊的情况下,Object(this)将不能解决,像失败的访问者),我不知道是否真的有一点.也许这是在检查之前设置的,也可能是在这里,以防止特殊的本地对象.另一个可能性是(也是)严格遵循specification一步一步,并希望申请toObject.

list.length>>>> 0比||好事实上,它舍入到最接近的正整数(在32位范围内).我不知道为什么>>在这里没有使用,因为直到4294967295而不是-1(即不要失去时间)迭代似乎不是更好.

原文链接:https://www.f2er.com/js/155138.html

猜你在找的JavaScript相关文章