窗口对象中奇怪的自我对象

Moh*_*sen 5 javascript browser

我无法理解为什么window会受到影响selfself处于window对象之下.

如果你去DEV-工具或Firebug的,写window你有DOM window对象,它self是此对象下.怪异的是,window正在self重新!

你可以写

window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self.window.self
Run Code Online (Sandbox Code Playgroud)

你仍然得到window对象!

怎么样?!

Sha*_*haz 5

在回复我的一条评论时:

它是一个循环引用,所以它不会结束.编译器只创建一个引用.它恰好是对创建引用的原始对象的引用.这就是为什么你可以做window.window.window ...就像这样:var obj = {}; obj.obj = obj;.只创建了一个引用,但它是对原始引用的引用,因此您可以执行obj.obj.obj.obj.obj.obj.obj === obj.

评论可以在这里看到:Javascript窗口真的是全局的吗?