【Javascript基礎篇】——基本資料型別的特殊型別null,undefined講解及typeof用法
【前言】
在回顧javascript的時候總結了javascript的一些資料型別,它主要分為了兩種資料型別:基本型別和非基本型別(object型別);基本資料型別包括了:number,string,boolean,null,undefined。其中number型別主要擴充的是無窮大和無窮小infinity,以及在相關運算中產生的NaN.其中null,undefined,NaN是我們本節主要講解的內容
【內容】
NaN:保留字(表明資料型別不是數字)
undefined:物件屬性或方法不存在,或聲明瞭變數但從未賦值。
Null:對一個變數顯式地賦值為 null。 包含 null 的表示式之間的任何操作。
♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡
NaN:
不屬於資料型別,只是在相關的運算過程中出現異常導致的一種結果。
它不等於任何東西,包括它自己!
Null 資料型別 :
在 Jscript 中資料型別 null 只有一個值:null。關鍵字 null 不能用作函式或變數的名稱。
包含 null 的變數包含“無值”或“無物件”。換句話說,該變數沒有儲存有效的數、字串、boolean、陣列或物件。可以通過給一個變數賦 null 值來清除變數的內容。
Undefined 資料型別:
如下情況使返回 undefined 值: 物件屬性不存在, 聲明瞭變數但從未賦值。
null和undefined的用法上的區別:
①undefined是自動賦值的,而null必須是自定義的
var a;其中a是undefined,而不是null。必須是var a=null,a才是null。
②運算的結果是不一樣的。
undefined+1=NaN, Null+1=0
♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡♡
絕大部分的值在轉換為布林型別都為True但是一下六種falsy情況除外:
1.“”
2.null
3.undefined
4.0
5.NaN
6.false
其中有三種情況就是我們今天要著重提起的null,undefined,NaN;他們均屬於基本資料型別,但是null有一些特殊,typeof返回的是object的型別。
var result=‘’;
var a;
if(a){ result='yes'};
alert(result)
結果肯定可想而知,result=‘’;
那我們其實只是為了判斷a是否被定義和賦值,從上面產生FALSE的情況我們可以知道當var a=0, boolean a=false;,結果都是result=‘’,但是這個時候就和我們的想法不一致了,因為var a=0或者是boolean a=false,a都是被定義和賦值了的。
所以這個時候我們就需要優化我們的程式碼,用typeof返回結果是“undefined”來判斷。當開始我就寫了這樣的程式碼
var result=‘’
var a;
if(typeof a!=undefined){result=‘yes’}
alert(result);當然看起來沒有問題,但是結果result卻是‘yes’,而不是‘’。這時候我們不得不瞭解:
typeof的返回型別:“string”,“undefined”,“number”,“object”,“function”,“boolean”。
而不是undefined。“undefined”!=undefined。所以正確的寫法應該是:
typeof a!=“undefined”,而不是typeof a!=undefined.
【總結】
基礎知識對於我們走向一個新的高度很有幫助,所以我們需要鋪好腳下的路,踏踏實實的走!希望對大家掌握這方面的基礎知識有幫助,參考的部落格:點選開啟連結