我是javascript语言的新手。格式是在网上给出的,我试过但它给出了未定义的结果。
var name = {
a : 'a',
b:'b',c:'c'
};
console.log(name.a);// undefined
console.log(name);// '[object object]'
输出未定义?为什么
答案 0 :(得分:6)
您与window.name发生冲突。如果在全局上下文中使用name
,则会对值进行字符串化。解决方案是仅在函数上下文中使用变量,或者在全局范围之外的任何位置使用变量:
var f = function(){
var name = {
a : "a",
b : "b",
c : "c"
};
console.log(name.a);
console.log(name);
}
f();
答案 1 :(得分:3)
name
是javascript中的reserved predefined word
引用:
您最好避免使用以下标识符作为JavaScript的名称 变量。这些是依赖于实现的预定义名称 JavaScript对象,方法或属性(可以说,有些应该 保留字):