为什么这个javascript表达式返回“e”?

时间:2011-03-31 05:14:31

标签: javascript arrays

以下表达式返回“e”

alert(["a","b","c","d","e"][[1,2],3,4]);

谁能告诉我为什么?谢谢!

2 个答案:

答案 0 :(得分:8)

您需要做的就是打破表达式:

[
    [1,2],
    3,
    4 
]

您使用括号表示法访问数组文字的属性。语法需要表达式。表达式的语法允许单个表达式在用逗号分隔时包含许多表达式。表达式的每个术语从左到右进行评估,最终值实际上是最后一个术语的值。所以你的例子可以替换为:

alert(["a","b","c","d","e"][4]);

答案 1 :(得分:0)

[“a”,“b”,“c”,“d”,“e”]是一个数组,“e”在该数组中有索引4。该表达式的第二部分访问数组元素,例如,如果您尝试[“a”,“b”,“c”,“d”,“e”] [4],您将得到“e”。我认为这部分表达式“[1,2],3”被忽略了。