请问一下,有没有人知道这么一个问题,就是:
console.log('window.k == null',window.k == null);/*true*/
console.log('window.k == undefined',window.k == undefined);/*true*/
console.log('window.k == k',window.k == k);/*Uncaught ReferenceError: k is not defined:后面这个k报错*/
其中k是没有定义的,当k定义了之后,
window.k == k 就是true了,
咩有定义的时候,console.log(window.k)是undefined
但是console.log(k)就报错,有人知道这个是为什么嘛?
理论上不应该是,不管k有没有定义,window.k不是一直等于k的嘛?
window.k是对象属性,k是变量。对象属性即使未定义也会返回undefined,但变量未定义就会报错。