我想检查一个属性是否存在于window对象中,所以我做了这个:
这段代码可以工作:
if (window.foo) {
alert("exists");
}
else {
alert("doesn't exist");
}
输出:
不存在
我认为下面的代码也应该可以工作,因为据我所知,当您定义变量且不在函数内部时,它们会作为“window”对象的属性创建,因此这应该是等效的:
if (foo) { //it fails here "foo is not defined"
alert("exists");
} else {
alert("doesn't exist");
}
令我惊讶的是它没有起作用。我的问题是,如果我不在前面加上window,为什么它不起作用?