通常我会写
arr = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'];
position = 3;
answer = arr[position];
只是想知道...
编写以下代码是否有效?
它可以跨浏览器工作吗?
answer = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'][position];
最佳答案
是的,根据ECMAScript 5 specification :
MemberExpression :
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . IdentifierName
new MemberExpression Arguments
哪里PrimaryExpression
is defined as :
PrimaryExpression :
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
因此构造 ArrayLiteral[Expression]
是有效的。
这并不一定意味着它适用于所有浏览器(尤其是 IE 有一些语法怪癖),但您应该假设它适用。
关于javascript - 在用方括号声明后立即用方括号索引是否有效的javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223298/