對於JavaScript對象,對於它的屬性,我通常不會爲其添加單引號。我記得如果我添加一個單引號到一個對象的屬性,它將成爲一個JSON?我對嗎?爲什麼要將單引號添加到對象的屬性
請看這段代碼,兩段代碼都會輸出對象的值。請解釋一下,我是否需要爲對象的屬性添加單引號?
var test1 = {
foo: 'foo1',
bar: 'bar1'
};
alert(test1.foo);
var test2 = {
'foo': 'foo1',
'bar': 'bar1'
};
alert(test2.foo);
https://jsfiddle.net/azp9wj0x/
JSON對屬性名稱使用雙引號。請注意,即使你在這裏使用它們,它仍然不會是JSON,它仍然是一個對象字面量。請參閱[JSON和對象文字符號之間的區別?](https://stackoverflow.com/questions/2904131/what-is-the-difference-between-json-and-object-literal-notation) –
它會在這兩種情況下仍然是JavaScript對象字面值。您不需要單引號,但如果由於某種原因,您的屬性名稱違反了標準命名約定(如空格),則可以使用引號。 – lintmouse
單引號是文字字符串。當值包含特殊字符(如「\ n」)時,使用雙引號。 – schylake