【发布时间】:2020-04-19 14:17:05
【问题描述】:
以下代码 sn-p 通过混合括号和方括号来分配一些值而没有任何错误,但是大多数其他组合(例如方括号内的括号)根本不起作用。
var myItems = [];
myItems[5] = ("A1", "B1", ["C1","C2","C3"]);
当我打印这些值时,它们在两个不同的浏览器中完全相同。
myItems[5]: C1,C2,C3
myItems[5][0]: C1
myItems[5][1]: C2
myItems[5][2]: C3
myItems[5][2][0]: C
myItems[5][2][1]: 3
myItems[5][2][2]: undefined
似乎只考虑了方括号内的部分。这个结果是由 JavaScript 标准 (ECMA-262) 定义的吗?或者这只是解释器/引擎(在我的例子中是 Chrome 和 Firefox)在面对非法使用时所做的?
var myItems = [];
//myItems[5] = ["A1", "B1", ["C1","C2","C3"]];
myItems[5] = ("A1", "B1", ["C1","C2","C3"]);
document.getElementById("demo").innerHTML =
"myItems[5]: " + myItems[5] + "<br/>" +
"myItems[5][0]: " + myItems[5][0] + "<br/>" +
"myItems[5][1]: " + myItems[5][1] + "<br/>" +
"myItems[5][2]: " + myItems[5][2] + "<br/>" +
"myItems[5][2][0]: " + myItems[5][2][0] + "<br/>" +
"myItems[5][2][1]: " + myItems[5][2][1] + "<br/>" +
"myItems[5][2][2]: " + myItems[5][2][2] + "<br/>" +
"";
<p id="demo"></p>
编辑:我知道括号的正确用法(我的小提琴已经有了它),但我问的是在这种错误使用时结果是否是确定性的。由于我尝试过的解释器不会产生任何错误并给出相同的结果,因此我想知道这些结果是否由标准确保和/或所有其他解释器都会这样做。
【问题讨论】:
-
[有,你,[试过,使用],[方括号]]
-
是的,我知道这个,但实际上我并没有问正确的用法是什么。
标签: javascript