[英]is it valid javascript to index with square brackets right after declaring with square brackets?
通常我會寫
arr = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'];
position = 3;
answer = arr[position];
只是想知道......是否有效的javascript寫下面的內容?
它會跨瀏覽器工作嗎?
answer = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'][position];
是的,根據ECMAScript 5規范 :
MemberExpression :
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . IdentifierName
new MemberExpression Arguments
PrimaryExpression :
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
因此構造ArrayLiteral[Expression]
是有效的。
它並不一定意味着它適用於每個瀏覽器(特別是IE有一些語法怪癖)但你應該假設它確實存在。
是的,它會的。 這個sintax看起來很奇怪,但它完全有效。 您正從一個未分配給任何東西的數組中獲取位置值。
這是有效的。 它和做的幾乎一樣
some_func_that_returns_an_array()[7]
是的,數組文字可以是成員運算符的語法上有效的左側部分。 它確實可以跨瀏覽器工作。
我發現這構造了一個非常可讀的替代冗長的switch
語句,並將它與對象文字一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.