我是JavaScript新手。格式是在網上給出的,我試過但給出了未定義的結果。JavaScript對象表達式表示法無法正常工作
var name = {
a : 'a',
b:'b',c:'c'
};
console.log(name.a);// undefined
console.log(name);// '[object object]'
輸出未定義?爲什麼
我是JavaScript新手。格式是在網上給出的,我試過但給出了未定義的結果。JavaScript對象表達式表示法無法正常工作
var name = {
a : 'a',
b:'b',c:'c'
};
console.log(name.a);// undefined
console.log(name);// '[object object]'
輸出未定義?爲什麼
您與window.name有衝突。如果在全局上下文中使用name
,則該值將被字符串化。解決方案是隻在函數上下文中使用可變全局範圍之外,而不是,或任何地方:
var f = function(){
var name = {
a : "a",
b : "b",
c : "c"
};
console.log(name.a);
console.log(name);
}
f();
OP可能需要更多的解釋,因爲他們是新手到javascript – charlietfl
是的,它花了我一分鐘,自己找到一些信息:)最好的一種問題 - 我不知道這是一個問題,直到我看到問題,所以我學到了也是。 –
name
是在javascript中
reserved
predefined word
引用:
您最好避免將以下標識符作爲JavaScript 變量的名稱。這些預定義的名字依賴於實現 JavaScript對象,方法或屬性(和,可以說,一些應該 一直保留字):
這不是保留字。這只是瀏覽器中的一個先前存在的全局變量。 –
@FelixKling更新 –
我查了鉻,Firefox和JsBin也輸出.. –
不可能.....請顯示那個jsbin。 –
https://jsbin.com/xereluw/edit?js,console,output –