JavaScript判斷變量是否為undefined的兩種寫法區(qū)別
工作中我們經(jīng)常需要判斷某個(gè)變量/屬性是否為undefined。通常有兩種寫法
// 方式1
typeof age === 'undefined';
// 方式2
age === undefined
這兩種寫法有什么區(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ò)。看似方式1容錯(cuò)性更好,實(shí)際會(huì)是潛伏了的Bug。變量先聲明再使用永遠(yuǎn)是個(gè)好習(xí)慣。
此外,方式1是兩次運(yùn)算,方式2是一次。
相關(guān)文章
使用Webpack壓縮與轉(zhuǎn)譯JavaScript代碼的操作方法
在Web開發(fā)中,代碼的性能和加載時(shí)間是用戶體驗(yàn)的重要組成部分,為此,將JavaScript代碼壓縮和優(yōu)化是發(fā)布前一個(gè)必不可少的步驟,所以本文給大家介紹了如何使用Webpack壓縮與轉(zhuǎn)譯JavaScript代碼,需要的朋友可以參考下2024-05-05
js獲取當(dāng)前頁(yè)的URL與window.location.href簡(jiǎn)單方法
下面小編就為大家?guī)?lái)一篇js獲取當(dāng)前頁(yè)的URL與window.location.href簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
關(guān)于Google發(fā)布的JavaScript代碼規(guī)范你要知道哪些
代碼規(guī)范并不是一種編寫正確JavaScript代碼的規(guī)則,而是為了保持源代碼編寫模式一致的一種選擇。這篇文章給大家介紹了關(guān)于Google發(fā)布的JavaScript代碼規(guī)范你要知道哪些,感興趣的朋友一起看看吧2018-04-04
動(dòng)態(tài)加載圖片路徑 保持JavaScript控件的相對(duì)獨(dú)立性
根據(jù)新界面的要求,需要一部分圖片來(lái)增強(qiáng)日期控件的美觀性??紤]到既要實(shí)現(xiàn)加載圖表的目標(biāo),又要保持控件的獨(dú)立性以便將來(lái)的移植。2010-09-09
調(diào)整小數(shù)的格式保留小數(shù)點(diǎn)后兩位
調(diào)整小數(shù)的格式,如保留小數(shù)點(diǎn)后兩位等等在開發(fā)過(guò)程中經(jīng)常會(huì)遇到,下面本文搜集了一些不錯(cuò)的實(shí)現(xiàn)方法與分享2014-05-05
比JSON.stringify快兩倍的fast-json-stringify性能對(duì)比分析
這篇文章主要為大家介紹了比JSON.stringify快兩倍的fast-json-stringify性能對(duì)比分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12

