【发布时间】:2021-03-06 13:00:58
【问题描述】:
当我们有普通的 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 对象的这种行为?我们可以为任何显式构建的对象(如第一个 sn-p 中的对象)复制相同的行为吗? (虽然没有人愿意污染全局范围,但我只有这个查询)
编辑 - 我收到评论说这个问题与another question 重复。这个问题与我的答案非常相似,除了一个不同之处 - 我正在寻找一种方法来复制 window 对象的相同全局可访问行为。
【问题讨论】:
-
未来可能会使用Realms API 复制类似的行为。
标签: javascript javascript-objects window-object