var root = (typeof self == 'object' && self.self === self && self) ||
(typeof global == 'object' && global.global === global && global);
当我在控制台中检查它的值时,它会给我一个窗口对象
console.log(root); // > Window
答案 0 :(得分:1)
自我就是窗口,当你“检查”&&自己,你明白了。
答案 1 :(得分:0)
window.self是指向window
本身的属性。因此,两个检查都将评估为true:
typeof self == 'object' && self.self === self
感谢和运营商的定义......
expr1&& expr2:如果可以转换为false,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,&&如果两个操作数都为真,则返回true;否则,返回false。 MDN
....然后它会返回self
,这是...... window
:
&& self