当我们有普通的 javascript 对象时,我们可以使用类似objectName.proprtyName. 如果我们只使用propertyName,那么我们会得到如下错误 -
const myObj = {
userIdName : "John"
};
console.log(myObj.userIdName); //John
console.log(userIdName); //error "Not defined"
但是,在内置window对象的情况下,我们可以同时使用window.propertyName和 ,propertyName如下所示 -
console.log(window.alert);
console.log(alert);
//both return same result
究竟是什么导致了window
对象的这种行为?我们可以为任何显式构建的对象(如第一个片段中的对象)复制相同的行为吗?(虽然没有人愿意污染全局范围,但我只是有这个查询)
编辑- 我收到评论说这个问题是另一个问题的重复。这个问题与我的答案非常相似,除了一个区别 - 我正在寻找一种方法来复制对象的相同的全局可访问行为window
。
RISEBY
相关分类