JavaScript判斷變量是否爲undefined兩種方式差別

工做中咱們常常須要判斷某個變量/屬性是否爲undefined。一般有兩種寫法javascript

1
2
3
4
5
// 方式1
typeof  age ===  'undefined' ;
 
// 方式2
age === undefined

這兩種寫法有什麼區別嗎? 應該使用哪種呢?看看下面的例子java

1
typeof  age ===  'undefined' // true

標識符 age 沒有聲明過,輸出true。spa


再看另外一個例子3d

1
age === undefined;  // 報錯

Firebug提示age is not defined,code

 

這就是二者的區別, 即不肯定age是否聲明或定義時用方式1,肯定的則能夠用方式2。使用方式1若是變量沒有聲明,代碼也不會報錯,但方式2會報錯。看似方式1容錯性更好,實際會是潛伏了的Bug。變量先聲明再使用永遠是個好習慣。orm


此外,方式1是兩次運算,方式2是一次。 blog

相關文章
相關標籤/搜索