常见面试题 -- x in window

eg:

var y = 10;
if (!(x in window)) {
  var x = 10;
} else {
  ++y;
}

console.log(x); //undefined    
console.log(y); //11

说明:开始 x=undefined 但 undefined in window == true 所以判断进入了else中 所以y=11

扩展:js的6个假值(false undefined  null    ' '    0   NaN )中 只有  undefined in window == true 和  NaN in window == true  ,其余均为false

相关知识点:

window.a = 1;

a in window; //返回false

'a' in window; //返回true

其实就是 a 是个变量,a in window 实际等于 1 in window,也可以看成window[a] 去访问。而 'a' in window 可以看成 window[’x‘] 去访问一样。

posted @ 2022-07-07 15:45  阳光下的向日葵  阅读(31)  评论(0)    收藏  举报