我在某处读到,绝对不可能获得对范围的引用。是否有任何黑客可以获得对范围的引用并将其“陷阱”在变量中?
编辑:
我知道我可以通过window
对象获取全局范围。我指的是动态创建函数范围,所以第四。
答案 0 :(得分:0)
对变量内的windows对象/全局范围的引用可以是这样的。在这里,我假设你在全球范围内
var reftowindows = this;
我指的是动态创建函数范围等等 第四。
在全球范围内定义的功能
function returnRefrence(){
var refvar = this;
return this;
}
调用函数将变量保持为window
作为范围
console.log(returnRefrence()); // console logs "window" object
使用call()调用函数并将其绑定到object会更改范围并将包含引用的变量返回到obj
作为范围
obj = {};
console.log(returnRefrence.call(obj)); // console logs "obj" object