JavaScript判斷變量是否為undefined的兩種寫(xiě)法區(qū)別
工作中我們經(jīng)常需要判斷某個(gè)變量/屬性是否為undefined。通常有兩種寫(xiě)法
// 方式1
typeof age === 'undefined';
// 方式2
age === undefined
這兩種寫(xiě)法有什么區(qū)別嗎? 應(yīng)該使用哪一種呢?看看下面的例子
typeof age === 'undefined'; // true
標(biāo)識(shí)符 age 沒(méi)有聲明過(guò),輸出true。
再看另一個(gè)例子
age === undefined; // 報(bào)錯(cuò)
Firebug提示age is not defined,

這就是兩者的區(qū)別, 即不確定age是否聲明或定義時(shí)用方式1,確定的則可以用方式2。使用方式1如果變量沒(méi)有聲明,代碼也不會(huì)報(bào)錯(cuò),但方式2會(huì)報(bào)錯(cuò)??此品绞?容錯(cuò)性更好,實(shí)際會(huì)是潛伏了的Bug。變量先聲明再使用永遠(yuǎn)是個(gè)好習(xí)慣。
此外,方式1是兩次運(yùn)算,方式2是一次。
相關(guān)文章
原生javascript+css3編寫(xiě)的3D魔方動(dòng)畫(huà)旋扭特效
這篇文章主要介紹了原生javascript+css3編寫(xiě)的3D魔方動(dòng)畫(huà)旋扭特效的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03JS+HTML5實(shí)現(xiàn)的前端購(gòu)物車(chē)功能插件實(shí)例【附demo源碼下載】
這篇文章主要介紹了JS+HTML5實(shí)現(xiàn)的前端購(gòu)物車(chē)功能插件,結(jié)合完整實(shí)例形式分析了JS結(jié)合HTML5的storage特性存儲(chǔ)數(shù)據(jù)實(shí)現(xiàn)購(gòu)物車(chē)功能的相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-10-10js實(shí)現(xiàn)背景圖自適應(yīng)窗口大小
本文分享了背景圖自適應(yīng)窗口大小的實(shí)例代碼,具有一定的參考作用。下面跟著小編一起來(lái)看下吧2017-01-01Js 時(shí)間函數(shù)getYear()的使用問(wèn)題探討
不推薦使用getYear()這個(gè)函數(shù),因?yàn)樵诨鸷酗@示是不正確的,所以推薦使用getFullYear() 函數(shù),接下來(lái)為大家詳細(xì)介紹下getYear函數(shù)在不同瀏覽下的使用問(wèn)題2013-04-04微信小程序開(kāi)發(fā)之實(shí)現(xiàn)選項(xiàng)卡(窗口頂部TabBar)頁(yè)面切換
本篇文章主要介紹了微信小程序開(kāi)發(fā)之選項(xiàng)卡(窗口頂部TabBar)頁(yè)面切換,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11Extjs gridpanel 中的checkbox(復(fù)選框)根據(jù)某行的條件不能選中的解決方法
這篇文章主要介紹了Extjs gridpanel 中的checkbox(復(fù)選框)根據(jù)某行的條件不能選中的解決方法,需要的朋友可以參考下2017-02-02