js中undefined該怎么判斷淺析
一、js中導致undefined的幾種情況:
1、變量聲明過但沒有賦值;
2、獲取對象中不存在的屬性時;
3、函數(shù)需要實參,但是調用時沒有傳參,形參是undefined;
4、函數(shù)調用沒有返回值或者return后沒有數(shù)據(jù),接受函數(shù)返回的變量是undefined
二、判斷undefined的時候,我會直接這樣使用
let nothing; if (typeof nothing === 'undefined') { }
三、如何避免錯誤
1、使用let、const,棄用var
2、訪問不存在的屬性時不會出錯,而從不存在的屬性值獲取數(shù)據(jù)時才出現(xiàn)真正的問題。所以取用時要先判斷是否存在。
如何檢查屬性是否存在
(1) obj.prop !== undefined :直接與undefined進行比較
(2) typeof obj.prop !== ’undefined':驗證屬性值類型
(3) obj.hasOwnproperty('prop'): 驗證對象是否具有自己的屬性
(4) ‘prop' in obj:驗證對象是否具有自己的屬性或繼承屬性
補充:判斷undefined需要用到typeof()方法
typeof的返回值
typeof運算符的返回類型為字符串,值包括如下幾種:1. 'undefined' --未定義的變量或值
2. 'boolean' --布爾類型的變量或值
3. 'string' --字符串類型的變量或值
4. 'number' --數(shù)字類型的變量或值
5. 'object' --對象類型的變量或值,或者null(這個是js歷史遺留問題,將null作為object類型處理)
6. 'function' --函數(shù)類型的變量或值
總結
到此這篇關于js中undefined該怎么判斷的文章就介紹到這了,更多相關js中undefined判斷內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JS實現(xiàn)的一個簡單的Autocomplete自動完成例子
這篇文章主要介紹了JS實現(xiàn)的一個簡單的Autocomplete自動完成例子,需要的朋友可以參考下2014-04-04JS格式化數(shù)字金額用逗號隔開保留兩位小數(shù)
JS格式化數(shù)字金額只留兩位小數(shù)。寫了個格式化函數(shù)??梢钥刂菩?shù)位數(shù),自動四舍五入,感興趣的朋友可以了解下2013-10-10