为什么我可以在控制台 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/