JavaScript中的null和undefined用法解析
1.概述
null和undefined屬于js中兩種不同的基本數(shù)據(jù)類型,都可以表示“沒有”,含義非常相似。將一個(gè)變量賦值為undefined或null,老實(shí)說,語法效果幾乎沒區(qū)別。并且在if語句的判斷條件中,它們都會自動轉(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è)表示“空”的對象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示"此處無定義"的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。
Number(null); // 0 null + 9; // 9 Number(undefined); // NaN undefined + 9; // NaN
2.用法和含義
對于null和undefined,大致可以像下面這樣理解。null表示空值,即該處的值現(xiàn)在為空。調(diào)用函數(shù)時(shí),某個(gè)參數(shù)未設(shè)置任何值,這時(shí)就可以傳入null,表示該參數(shù)為空。比如,某個(gè)函數(shù)接受引擎拋出的錯誤作為參數(shù),如果運(yùn)行過程中未出錯,那么這個(gè)參數(shù)就會傳入null,表示未發(fā)生錯誤。undefined表示“未定義”,下面是返回undefined的典型場景。
// 變量聲明了,但沒有賦值
var i;
i // undefined
// 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于 undefined
function f(x) {
return x;
}
f() // undefined
// 對象沒有賦值的屬性
var o = new Object();
o.p // undefined
// 函數(shù)沒有返回值時(shí),默認(rèn)返回 undefined
function f() {}
f() // undefined
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript判斷空值、NULL、undefined的方法對比
- js如何刪除對象/數(shù)組中null、undefined、空對象及空數(shù)組實(shí)例代碼
- js刪除對象/數(shù)組中null、undefined、空對象及空數(shù)組方法示例
- JavaScript中undefined和null的區(qū)別
- JavaScript基本類型值-Undefined、Null、Boolean
- 有關(guān)JS中的0,null,undefined,[],{},'''''''''''''''',false之間的關(guān)系
- 兩個(gè)JavaScript中的特殊值null和undefined詳解
相關(guān)文章
Js實(shí)現(xiàn)手機(jī)發(fā)送驗(yàn)證碼時(shí)按鈕延遲操作
在做項(xiàng)目的時(shí)候,經(jīng)常遇到發(fā)短信驗(yàn)證碼的問題,這時(shí)候需要用戶點(diǎn)完發(fā)送驗(yàn)證碼按鈕后,一段時(shí)間內(nèi)不能重復(fù)點(diǎn)擊,畢竟驗(yàn)證碼都是收費(fèi)的嘛,誰都不想浪費(fèi),那么如何實(shí)現(xiàn)這種功能呢?下面來分享一下。2014-06-06
JavaScript利用虛擬列表實(shí)現(xiàn)高性能渲染數(shù)據(jù)詳解
在前文中我們提到可以使用時(shí)間分片的方式來對長列表進(jìn)行渲染,但這種方式更適用于列表項(xiàng)的DOM結(jié)構(gòu)十分簡單的情況,所以本文來講講如何使用虛擬列表的方式,來同時(shí)加載大量數(shù)據(jù)吧2023-05-05
JS獲取當(dāng)前時(shí)間的年月日時(shí)分秒及時(shí)間的格式化的方法
這篇文章主要介紹了js獲取當(dāng)前時(shí)間的年月日時(shí)分秒及時(shí)間的格式化,本文通過實(shí)例代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
JavaScript實(shí)現(xiàn)二叉樹的先序、中序及后序遍歷方法詳解
這篇文章主要介紹了JavaScript實(shí)現(xiàn)二叉樹的先序、中序及后序遍歷方法,結(jié)合實(shí)例形式總結(jié)分析了javascript二叉樹的先序、中序及后序遍歷實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-10-10

