資源描述:
《javascript類型系統(tǒng)之undefined和null淺析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解Javascript類型系統(tǒng)之undefined和null淺析 這篇文章主要介紹了Javascript類型系統(tǒng)之undefined和null的知識(shí),通過本文還簡(jiǎn)單給大家介紹了javascript中null和undefined的區(qū)別的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下 前面的話 一般的程序語言,表示空的只有null,但javascript的設(shè)計(jì)者BrendanEich卻設(shè)計(jì)了一個(gè)undefined,這無疑增加了程序復(fù)
2、雜度,但這樣做也是有一定原因的。本文將詳細(xì)介紹javascript中的undefined和null 歷史原因 1995年JavaScript誕生時(shí),最初像Java一樣,只設(shè)置了null作為表示”無”的值。根據(jù)C語言的傳統(tǒng),null被設(shè)計(jì)成可以自動(dòng)轉(zhuǎn)為0 但是,JavaScript的設(shè)計(jì)者BrendanEich,覺得這樣做還不夠,有兩個(gè)原因。首先,null像在Java里一樣,被當(dāng)成一個(gè)對(duì)象。但是,JavaScript的值分成原始類型和對(duì)象類型兩大類,BrendanEich覺得表示”無”的值最好不是對(duì)象。其次,JavaScript的最初版本沒有包括錯(cuò)誤處理機(jī)制,發(fā)生數(shù)據(jù)類型不匹配
3、時(shí),往往是自動(dòng)轉(zhuǎn)換類型或者默默地失敗。Brendan對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解Eich覺得,如果null自動(dòng)轉(zhuǎn)為0,很不容易發(fā)現(xiàn)錯(cuò)誤 因此,BrendanEich又設(shè)計(jì)了一個(gè)undefined。他是這樣區(qū)分的:null是一個(gè)表示”無”的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示”無”的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN 但是,目前null和u
4、ndefined基本是同義的,都是原始類型,且只有一些細(xì)微的差別 undefined Undefined類型只有一個(gè)值,就是undefined。當(dāng)聲明的變量未初始化時(shí),該變量的默認(rèn)值是undefined。所以一般地,undefined表示變量沒有初始化 vartest;//undefined console.log(test==undefined);//true vartest=undefined;//undefined 對(duì)于尚未聲明過的變量只能執(zhí)行一項(xiàng)操作,使用typeof操作符檢測(cè)其數(shù)據(jù)類型,但嚴(yán)格模式下會(huì)導(dǎo)致錯(cuò)誤 typeof(test);//undefined
5、 【出現(xiàn)場(chǎng)景】 【1】已聲明未賦值的變量 【2】獲取對(duì)象不存在的屬性 【3】無返回值的函數(shù)的執(zhí)行結(jié)果 【4】函數(shù)的參數(shù)沒有傳入 【5】void(expression)對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解 vari; console.log(i);//undefined varo={}; console.log(o.p);//undefi
6、ned functionf(){}; console.log(f());//undefined functionf(x){returnx;} console.log(f());//undefined console.log(void(0));//undefined 【類型轉(zhuǎn)換】 Boolean(undefined): false Number(undefined): NaN String(undefined): 'undefined' null Null類型只有一個(gè)值,就是null。null是javascript語言的關(guān)鍵字,它表示一個(gè)特殊值,常用來描述"空
7、值" 邏輯角度看,null值表示一個(gè)空對(duì)象指針 [注意]null是空對(duì)象指針,而[]是空數(shù)組,{}是空對(duì)象,三者不相同 console.log(typeofnull);//'object'對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解 盡管nu