为什么建议使用void 0 来替代 undefined ?
undefined 不是保留字,在低版本的IE浏览器中会被重写。
1
2
3
4var undefined = 1
console.log(undefined)
// chrome undefined
// 低版本IE 1局部作用域中 undefined 仍然可以被重写。
1
2
3
4
5
6(function() {
var undefined = 1
console.log(undefined)
// chrome 1
// 低版本IE 1
})()void 后面无论跟什么,其返回的都是 undefined ,且无法被修改。