为什么我可以在控制台window.window.window.window
中执行此操作并无限附加追加.window
并返回DOM窗口?
最佳答案
因为window
对象具有指向自身的window
属性。
就像您写的一样:
var foo = {};
foo.foo = foo;
console.log(foo.foo.foo.foo.foo.foo.foo);
为了好玩,
window
对象还具有指向自身的 self
属性,以及(如果您不在框架集中)还具有指向它的 top
属性。因此,您可以编写:console.log(window.window.top.self.top.self.window.window.self.top.top.self);
关于javascript - 为什么我可以在控制台window.window.window.window中执行此操作,并返回window?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9813378/