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

opp*_*pps 2 javascript arrays

以下表达式返回"e"

alert(["a","b","c","d","e"][[1,2],3,4]);
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*ion 8

你需要做的就是打破表达:

[
    [1,2],
    3,
    4 
]
Run Code Online (Sandbox Code Playgroud)

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

alert(["a","b","c","d","e"][4]);
Run Code Online (Sandbox Code Playgroud)