javascript進階程式設計--淺析undefined與null的區別,undefinednull

來源:互聯網
上載者:User

javascript進階程式設計--淺析undefined與null的區別,undefinednull
淺析undefined與null的區別相似處:

1、undefined 和 null 都是javascript 的基礎資料型別 (Elementary Data Type)。其實兩者沒有太大區別。

定義:

var a=undefined;var a=null;null==undefined;//true
2、null是一個表示"無"的對象,轉為數值時為0;undefined是一個表示"無"的原始值,轉為數值時為NaN。

Number(undefined)//NaN5 + undefined//NaN
而對於null

Number(null)// 05 + null// 5

區別1、null表示"沒有對象",即該處不應該有值。典型用法是:
(1) 作為函數的參數,表示該函數的參數不是對象。(2) 作為對象原型鏈的終點。

Object.getPrototypeOf(Object.prototype)// null

2、undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:
(1)變數被聲明了,但沒有賦值時,就等於undefined。(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。(3)對象沒有賦值的屬性,該屬性的值為undefined。(4)函數沒有傳回值時,預設返回undefined。
example

var a;a;//undefinedfunction f(x){console.log(x);}f(x);//undefinedvar obj=new Object();obj.name;//undefinedvar x=f();x;//undefined



javascript中null與undefined的不同?

用中文名詞來理解?
undefined 叫無中生有
null 叫豆腐腦
前者的意思是javascript解譯器不知道這是什麽東西,會拋出"未定義"的錯誤
後者的意思是你定義了它,但它沒有分配記憶體空間,無心肝不痛,不會拋出錯誤.
代碼:
v_kao; //會提示你v_kao沒定義
var v_kao; // 那麼v_kao的值就是null;

其實它們是兩個層面的東西,就比如一個物件,它有很多屬性,而其中一個屬性即值是null,
而是否有沒有這個物件才是undefined,比如:
美女 = {簡稱:'美人',升高:'1.80m',性別:null}
那麼我們說的"美女"就可以用"是否定義"來描述,它就是undefined
"美女的性別"則為null,是指我知道是什麽東西的情況下才關係它的性別,雖然是未知,但畢竟是一種結果,未知的表示就可以描述為null
 
在javascript中,nan, null與undefined的不同是什?

NaN:保留值(不是數字)
null:未定義或Null 字元串
undefined:對象屬性不存在,或,聲明了變數但從未賦值。

NaN很少直接使用,而是用isNaN(numValue)的形式來進行判斷,如果numValue是數字,那麼返回false,反之,返回true(即NaN)
另外兩個很常見,就不用解釋了吧?
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.