對於新手問題感到抱歉。在JavaScript中使用引號的區別
有什麼不同,是相同還是不同?
$scope.someVar = {first: true}
$scope.someVar = {'first': true}
對於新手問題感到抱歉。在JavaScript中使用引號的區別
有什麼不同,是相同還是不同?
$scope.someVar = {first: true}
$scope.someVar = {'first': true}
在Javascript中沒有什麼區別,除了在情況下,屬性名是JS的關鍵字或包含特殊字符(如符號,空格等),否則將作爲變量名稱無效(例如以數字開頭),在這種情況下,引號是必要的以避免語法錯誤。
此混淆的一個原因是JSON - 在JSON字符串中,引號是必需的。我知道你不是在問題的代碼中編寫JSON,但是JSON和JS之間的這種區別確實吸引了人們,特別是因爲很多人認爲JSON與Javascript相同;他們不是(完全)相同。
它們是一樣的。二是必要時重點包含保留的關鍵字,或空格,如
{ 'some-id+with/special:chara cters': true}
保留關鍵字,甚至有空格鍵! – Dinesh
是的,確實如此。所有不是有效的標識符或IIRC,數字字面意思。請參閱http://mothereff.in/js-properties –
注意:JSON需要*雙*引號。 – bfavaretto
@bfavaretto - 是的,謝謝你補充說,這是我忘記提及的一個好點。 – Spudley