【发布时间】:2013-01-15 22:39:31
【问题描述】:
在我测试的浏览器中,var a = new Array(5); 将返回一个包含 5 个undefined 元素的数组。由于undefined 等于false,我可以认为我的数组是用false 元素初始化的,只要我以这种方式测试它们:
if (a[0]) console.log("the element is no longer falsy");
else a[0] = true;
用false 值初始化Array 是一种安全的方法,还是应该避免的黑客攻击?
编辑:我的目标是让它初始化为假值,如我的示例所示。我想确保 new Array() 是一种值得信赖的方式。
【问题讨论】:
-
你想达到什么目的?您不必强制初始化您的数组,您应该有特定的理由来实现它。
-
我正在尝试将一个数组初始化为虚假值,以便稍后将它们变为 true。我对这些值所做的唯一测试是
if (a[i])所以undefined对我来说是一个很好的初始值,只要 JS 规范将此行为强加于new Array()
标签: javascript