Discuss / JavaScript / 看到别人问的问题,不知道为什么。

看到别人问的问题,不知道为什么。

Topic source

name in test执行不报错; age in test执行报错。

var test = {name : "test" , age : 15};
undefined
"name" in test;
true
"age" in test;
true
name in test;
false
age in test;
VM4198:1 Uncaught ReferenceError: age is not defined(…)

为什么呢? 求解释。

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

你分别敲一个"age"age看看结果

还是不懂为什么,name有什么特殊的

alert('age');//age
alert(age);//报错
alert('name');//name
alert(name);//没有显示内容

明白了,每一个object都有一个属性叫name

我打开浏览器-然后打开console-输入name 页面显示为一个空字符串"",

alert(name);//没有显示内容 这句不报变量未定义是因为这个东西已经被初始化过了。 而age是没有被定义过的 请问这个name为什么被定义过了呀,这个机制是啥?

name 可能是 Window 对象属性的name 属性


  • 1

Reply