2012-08-05 105 views
-3

可能重複使用和不使用引號鍵之間差異的文字:
What is the difference between object keys with quotes and without quotes?了哪些對象

我大多知道使用它的JavaScript,但有件事情我還不知道。

什麼是這兩個對象文字之間的區別:

var obj1 = { 
    myProp: '123' 
}; 

var obj2 = { 
    'myProp': '123' 
}; 

,他們只是「同義詞」,還是有細微的差別?

謝謝!

+1

@EsTeGe:您是否搜索過答案?正如Bismark已經提到的那樣,這個問題之前已經得到解答。 -1 – Tadeck 2012-08-05 13:56:08

回答

3

在對象初始值設定項語法中,鍵可以是數字文字,標識符或字符串。

var obj1 = { 
    1e9: "123" //valid because it's a numeric literal 
} 

var obj2 = { 
    $_ASd: "123" //Valid because it's a valid identifier I.E. you could make a variable called $_Asd 
} 

var obj3 = { 
    $ hello world: "123" //invalid because it's not an identifier, I.E. you could not make a variable called $ hello world 
} 

var obj4 = { 
    '$ hello world': "123" //valid because it's a valid string 
} 

隨後鑰匙變成一個字符串,無論它是什麼在語法,所以在1e9的情況下,關鍵是一個字符串"1000000000"

1

沒有內部操作員的時候什麼都沒有。

var obj1 = { 
    my+Prop: '123' // illegal 
}; 

var obj2 = { 
    'my+Prop': '123' // legal 
}; 
+0

或者一個空格..... – 2012-08-05 13:54:25

+0

或者一個數字在開頭。正確的說法是「當它不是一個有效的標識符」。 – Ryan 2012-08-05 13:56:06

相關問題