JavaScript中的null和undefined用法解析
1.概述
null和undefined屬于js中兩種不同的基本數(shù)據(jù)類型,都可以表示“沒有”,含義非常相似。將一個變量賦值為undefined或null,老實說,語法效果幾乎沒區(qū)別。并且在if語句的判斷條件中,它們都會自動轉(zhuǎn)為false,相等運算符(==)甚至直接報告兩者相等
var a = null; var b = undefined; if (!a) { console.log('a is false'); }//a is false if (!b) { console.log('b is false'); }//b is false if (null == undefined) { console.log('null == undefined is true') }//null == undefined is true
null是一個表示“空”的對象,轉(zhuǎn)為數(shù)值時為0;undefined是一個表示"此處無定義"的原始值,轉(zhuǎn)為數(shù)值時為NaN。
Number(null); // 0 null + 9; // 9 Number(undefined); // NaN undefined + 9; // NaN
2.用法和含義
對于null和undefined,大致可以像下面這樣理解。null表示空值,即該處的值現(xiàn)在為空。調(diào)用函數(shù)時,某個參數(shù)未設(shè)置任何值,這時就可以傳入null,表示該參數(shù)為空。比如,某個函數(shù)接受引擎拋出的錯誤作為參數(shù),如果運行過程中未出錯,那么這個參數(shù)就會傳入null,表示未發(fā)生錯誤。undefined表示“未定義”,下面是返回undefined的典型場景。
// 變量聲明了,但沒有賦值 var i; i // undefined // 調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于 undefined function f(x) { return x; } f() // undefined // 對象沒有賦值的屬性 var o = new Object(); o.p // undefined // 函數(shù)沒有返回值時,默認(rèn)返回 undefined function f() {} f() // undefined
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
LBS blog sql注射漏洞[All version]-官方已有補丁
LBS blog sql注射漏洞[All version]-官方已有補丁...2007-08-08JavaScript 函數(shù)惰性載入的實現(xiàn)及其優(yōu)點介紹
惰性載入表示函數(shù)執(zhí)行的分支只會在函數(shù)第一次掉用的時候執(zhí)行,在第一次調(diào)用過程中,該函數(shù)會被覆蓋為另一個按照合適方式執(zhí)行的函數(shù),這樣任何對原函數(shù)的調(diào)用就不用再經(jīng)過執(zhí)行的分支了2013-08-08