欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中null和undefined的區(qū)別

 更新時間:2023年05月12日 15:09:39   作者:codePanda  
在JavaScript中,null和undefined是兩個常見的數據類型,本文就詳細的介紹了JS中null和undefined的區(qū)別,感興趣的可以了解一下

前言

在JavaScript中,null和undefined是兩個常見的數據類型,但總是在使用時由于對兩者區(qū)別不清而導致錯誤,今天就讓我們一起來看看這兩種類型的區(qū)別。

定義

首先讓我們來看看兩者的定義: null是JavaScript中的一個特殊值,表示“空值”或“無值”。當我們想要表示某個變量不包含任何值時,就可以將其設置為null。 undefined是JavaScript中的另一種特殊值,表示“未定義的值”。當我們聲明一個變量但沒有給它賦值時,該變量的值就是undefined。

異同點

相同點:

  • undefined和null被轉換為布爾值的時候,兩者都為false
  • undefined==null,結果為true都表示一個空值,兩者判斷值相等上是一樣的

盡管nullundefined都表示“無值”,但它們之間還是有一些區(qū)別的。

不同點:

  • null表示一個空對象指針,而undefined表示一個未定義的值。
  • 當我們聲明一個變量但沒有給它賦值時,該變量的值就是undefined。當我們想要明確地表示某個變量不包含任何值時,就可以將其設置為null。
  • 如果我們使用typeof運算符檢查一個null值時,返回的結果是“object”。而如果檢查一個未聲明的變量時,返回的結果是undefined。
  • undefined不是關鍵字,而null是關鍵字
  • undefined本質上是window的一個屬性,而null是一個對象

接下來就讓我們來結合一些小小的例子來進行理解:

let firval = null;
let secval;
console.log(firval == secval); // 輸出:true
console.log(firval === secval); // 輸出:false
console.log(firval); // 輸出:null
console.log(secval); // 輸出:undefined
console.log(typeof firval); // 輸出:object
console.log(typeof secval); // 輸出:undefined

在上面的示例中,我們聲明了兩個變量firval和secval。firval的值被設置為null,而secval沒有被賦值,因此它的值是undefined。當我們使用console.log()函數打印這兩個變量時,分別輸出了null和undefined。當我們使用typeof運算符檢查這兩個變量的類型時,分別輸出了object和undefined,同時需要注意null與undefined本質上是不同,當使用雙等時輸出為true相信大家應該都有所了解,沒錯,因為在 JavaScript 里,雙等號判斷相等時會進行隱式類型轉換,所以是不嚴格的。

實際應用

在實際的開發(fā)中,我們經常需要使用null和undefined在某些特殊的情景。例如,當我們從服務器獲取數據時,如果數據不存在,我們可能會將返回值設置為null或undefined。這樣做可以幫助我們更好地處理數據并避免出現錯誤。

以下便是一個null應用場景:

function getData() {
  let data = null;
  // 如果數據不存在,返回null
  if (!data) {
    return null;
  }
  // 處理數據
  // ...
  // 如果處理成功,返回處理結果
  return result;
}

在上面的示例中,我們定義了一個名為getData的函數,用于獲取數據并處理它。如果數據不存在,我們將返回值設置為null。否則,我們將處理數據并返回處理結果。

除此之外,null還有一個前端人員都熟悉的作用:作為對象原型鏈的終點

對于undefined的作用,這里大致列舉以下幾種:

  • 如果變量聲明了,但沒有賦值,它就等于undefined 。

  • 函數中的參數沒有給時,該參數就等于undefined 。

  • 對象沒有進行賦值,該屬性的值為undefined。

  • 當函數沒有返回值時,默認返回undefined。

總結

在本文中,我們簡單探討了JavaScript中的null和undefined類型,需要記住的是,null表示一個空對象指針,而undefined表示一個未定義的值。當我們想要明確地表示某個變量不包含任何值時,就可以將其設置為null。而當我們聲明一個變量但沒有給它賦值時,該變量的值就是undefined。

補:

1.JS 中如何判斷 undefined

JavaScript 中有兩個特殊數據類型:undefined 和 null,下節(jié)介紹了 null 的判斷,下面談談 undefined 的判斷。

以下是不正確的用法:

var exp = undefined;
if (exp == undefined)
{
    alert("undefined");
}

exp 為 null 時,也會得到與 undefined 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 undefined 和 null 時可使用本法。

var exp = undefined;
if (typeof(exp) == undefined)
{
    alert("undefined");
}

以下是正確的用法:

var exp = undefined;
if (typeof(exp) == "undefined")
{
    alert("undefined");
}

2.JS 中如何判斷 null

以下是不正確的用法:

var exp = null;?
if (exp == null)?
{?
alert(“is null”);?
}

exp 為 undefined 時,也會得到與 null 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 null 和 undefined 時可使用本法。

var exp = null;?
if (!exp)?
{?
alert(“is null”);?
}

如果 exp 為 undefined 或者數字零,也會得到與 null 相同的結果,雖然 null 和二者不一樣。注意:要同時判斷 null、undefined 和數字零時可使用本法。

var exp = null;?
if (typeof(exp) == “null”)?
{?
alert(“is null”);?
}

為了向下兼容,exp 為 null 時,typeof 總返回 object。

var exp = null;?
if (isNull(exp))?
{?
alert(“is null”);?
}

JavaScript 中沒有 isNull 這個函數。

以下是正確的用法:

var exp = null; 
if (!exp && typeof(exp)!=”undefined” && exp!=0) 
{ 
alert(“is null”); 
}

 到此這篇關于JS中null和undefined的區(qū)別的文章就介紹到這了,更多相關JS null undefined內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • js中的push和join方法使用介紹

    js中的push和join方法使用介紹

    push和join方法想必大家并不陌生吧,在本文將為大家詳細介紹下js中的push和join方法的使用,感興趣的朋友可以參考下
    2013-10-10
  • 原生JS簡單實現ajax的方法示例

    原生JS簡單實現ajax的方法示例

    這篇文章主要介紹了原生JS簡單實現ajax的方法,結合實例形式分析了ajax的實現步驟與相關使用技巧,需要的朋友可以參考下
    2016-11-11
  • JavaScript之filter_動力節(jié)點Java學院整理

    JavaScript之filter_動力節(jié)點Java學院整理

    filter也是一個常用的操作,它用于把Array的某些元素過濾掉,然后返回剩下的元素。下面通過實例代碼給大家簡答介紹下javascript中的filter,需要的的朋友參考下吧
    2017-06-06
  • 19個很有用的 JavaScript庫推薦

    19個很有用的 JavaScript庫推薦

    流行的 JavaScript 庫有jQuery,MooTools,Prototype,Dojo和YUI等,這些 JavaScript 庫功能豐富,加上它們眾多的插件,幾乎能實現任何你需要的功能
    2011-06-06
  • JavaScript如何實現防止重復的網絡請求的示例

    JavaScript如何實現防止重復的網絡請求的示例

    這篇文章主要介紹了JavaScript如何實現防止重復的網絡請求的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • js遍歷json的key和value的實例

    js遍歷json的key和value的實例

    下面小編就為大家?guī)硪黄猨s遍歷json的key和value的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解JSON和JSONP劫持以及解決方法

    詳解JSON和JSONP劫持以及解決方法

    這篇文章主要介紹了詳解JSON和JSONP劫持以及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • bootstrap fileinput 插件使用項目總結(經驗)

    bootstrap fileinput 插件使用項目總結(經驗)

    這篇文章主要介紹了bootstrap fileinput 插件使用項目總結,是小編日常碰到的問題及解決方法,需要的朋友可以參考下
    2017-02-02
  • js在ie下打開對話窗口的方法小結

    js在ie下打開對話窗口的方法小結

    下面小編就為大家?guī)硪黄猨s在ie下打開對話窗口的方法小結。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JavaScript仿淘寶頁面圖片滾動加載及刷新回頂部的方法解析

    JavaScript仿淘寶頁面圖片滾動加載及刷新回頂部的方法解析

    這篇文章主要介紹了JavaScript仿淘寶頁面圖片滾動加載及刷新回頂部的方法解析,包括懶加載和onbeforeunload等要點的理解,需要的朋友可以參考下
    2016-05-05

最新評論