JavaScript中的null和undefined用法解析
1.概述
null和undefined屬于js中兩種不同的基本數(shù)據(jù)類型,都可以表示“沒(méi)有”,含義非常相似。將一個(gè)變量賦值為undefined或null,老實(shí)說(shuō),語(yǔ)法效果幾乎沒(méi)區(qū)別。并且在if語(yǔ)句的判斷條件中,它們都會(huì)自動(dòng)轉(zhuǎn)為false,相等運(yùn)算符(==)甚至直接報(bào)告兩者相等
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是一個(gè)表示“空”的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示"此處無(wú)定義"的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。
Number(null); // 0 null + 9; // 9 Number(undefined); // NaN undefined + 9; // NaN
2.用法和含義
對(duì)于null和undefined,大致可以像下面這樣理解。null表示空值,即該處的值現(xiàn)在為空。調(diào)用函數(shù)時(shí),某個(gè)參數(shù)未設(shè)置任何值,這時(shí)就可以傳入null,表示該參數(shù)為空。比如,某個(gè)函數(shù)接受引擎拋出的錯(cuò)誤作為參數(shù),如果運(yùn)行過(guò)程中未出錯(cuò),那么這個(gè)參數(shù)就會(huì)傳入null,表示未發(fā)生錯(cuò)誤。undefined表示“未定義”,下面是返回undefined的典型場(chǎng)景。
// 變量聲明了,但沒(méi)有賦值 var i; i // undefined // 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于 undefined function f(x) { return x; } f() // undefined // 對(duì)象沒(méi)有賦值的屬性 var o = new Object(); o.p // undefined // 函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回 undefined function f() {} f() // undefined
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript判斷空值、NULL、undefined的方法對(duì)比
- js如何刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組實(shí)例代碼
- js刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組方法示例
- JavaScript中undefined和null的區(qū)別
- JavaScript基本類型值-Undefined、Null、Boolean
- 有關(guān)JS中的0,null,undefined,[],{},'''''''''''''''',false之間的關(guān)系
- 兩個(gè)JavaScript中的特殊值null和undefined詳解
相關(guān)文章
LBS blog sql注射漏洞[All version]-官方已有補(bǔ)丁
LBS blog sql注射漏洞[All version]-官方已有補(bǔ)丁...2007-08-08JavaScript編程的10個(gè)實(shí)用小技巧
盡管我使用Javascript來(lái)做開(kāi)發(fā)有很多年了,但它常有一些讓我很驚訝的小特性。對(duì)于我來(lái)說(shuō),Javascript是需要持續(xù)不斷的學(xué)習(xí)的。2014-04-04JavaScript 函數(shù)惰性載入的實(shí)現(xiàn)及其優(yōu)點(diǎn)介紹
惰性載入表示函數(shù)執(zhí)行的分支只會(huì)在函數(shù)第一次掉用的時(shí)候執(zhí)行,在第一次調(diào)用過(guò)程中,該函數(shù)會(huì)被覆蓋為另一個(gè)按照合適方式執(zhí)行的函數(shù),這樣任何對(duì)原函數(shù)的調(diào)用就不用再經(jīng)過(guò)執(zhí)行的分支了2013-08-08JS實(shí)現(xiàn)利用兩個(gè)隊(duì)列表示一個(gè)棧的方法
這篇文章主要介紹了JS實(shí)現(xiàn)利用兩個(gè)隊(duì)列表示一個(gè)棧的方法,簡(jiǎn)單分析了使用兩個(gè)隊(duì)列表示一個(gè)棧的原理,并結(jié)合具體實(shí)例分析了javascript相關(guān)操作技巧,需要的朋友可以參考下2017-12-12微信小程序?qū)崿F(xiàn)表單驗(yàn)證提交功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)表單驗(yàn)證提交功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07