判斷undefined變量的疑惑
我以前一直不清楚判斷數據類型為undefined的差異,自己用的是
typeof x==="undefined"
,看到別人寫x===undefined
就非常奇怪。但由無可辯駁,說出那么做有什么不好。現在終于知道了。
結論
如果x為一個全局變量,并且不在當前js文件里面,最好用typeof,否則如果這個變量不存在,很可能會發生報錯。如果x明顯在當前作用域內,那么用那種方法都不算錯。
補充第三種判斷方式
x===void 0
這種方式好處就是寫的字符數量要比x===undefined
少,而且防止undefined在方法里面被復寫。