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

簡單方法判斷JavaScript對象為null或者屬性為空

 更新時間:2014年09月26日 17:15:29   投稿:whsnow  
對已聲明但未初始化的和未聲明的變量執(zhí)行typeof,都返回undefined,null表示一個空對象指針,typeof操作會返回object

首先說下null與undefined區(qū)別:

對已聲明但未初始化的和未聲明的變量執(zhí)行typeof,都返回"undefined"。

null表示一個空對象指針,typeof操作會返回"object"。

一般不顯式的把變量的值設(shè)置為undefined,但null相反,對于將要保存對象的變量,應(yīng)明確的讓該變量保存null值。

var bj;
alert(bj); //"undefined"
bj = null;
alert(typeof bj); //"object"
alert(bj == null); //true
bj = {};
alert(bj == null); //false

下面兩個函數(shù)是鄧師兄給我的,感謝啊。

/*
* 檢測對象是否是空對象(不包含任何可讀屬性)。
* 方法既檢測對象本身的屬性,也檢測從原型繼承的屬性(因此沒有使hasOwnProperty)。
*/
function isEmpty(obj)
{
for (var name in obj)
{
return false;
}
return true;
};

這里所說的空對象,到底是 {} 還是 null . 我寫了一個測試用例。

var a = {};
a.name = 'realwall';
console.log(isEmpty(a)); //false
console.log(isEmpty({})); //true
console.log(isEmpty(null)); //true

//注意參數(shù)為null時無語法錯誤哦,即雖然不能對null空指針對象添加屬性,但可以使用for in 語句

  
?
/*
* 檢測對象是否是空對象(不包含任何可讀屬性)。
* 方法只既檢測對象本身的屬性,不檢測從原型繼承的屬性。
*/
function isOwnEmpty(obj)
{
for(var name in obj)
{
if(obj.hasOwnProperty(name))
{
return false;
}
}
return true;
};

{}與null的區(qū)別:

這個東西很重要。

var a = {};
var b = null;

a.name = 'realwall';
b.name = 'jim'; //這里會報錯,b為空指針對象,不能像普通對象一樣直接添加屬性。
b = a;
b.name = 'jim'; //此時 a 和 b 指向同一個對象。a.name, b.name 均為'jam'

相關(guān)文章

  • JS中如何優(yōu)雅的使用async await詳解

    JS中如何優(yōu)雅的使用async await詳解

    async表示異步,而await可以看作async wait,個人對async與await的簡單理解就是,我們可以用同步的方式去書寫異步代碼,這篇文章主要給大家介紹了關(guān)于JS中如何優(yōu)雅的使用async await的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 使用typeof判斷function是否存在于上下文

    使用typeof判斷function是否存在于上下文

    這篇文章主要介紹了使用typeof判斷function是否存在于上下文,在窗口加載時,使用typeof進行判斷,需要的朋友可以參考下
    2014-08-08
  • js獲得相對路徑文件并上傳到服務(wù)器的方法

    js獲得相對路徑文件并上傳到服務(wù)器的方法

    由于瀏覽器的安全限制,Javascript無法直接獲取用戶上傳文件的絕對路徑。但是我們可以通過一些技巧來獲取文件的相對路徑,這篇文章主要給大家介紹了關(guān)于js獲得相對路徑文件并上傳到服務(wù)器的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 微信小程序中如何計算距離某個節(jié)日還有多少天

    微信小程序中如何計算距離某個節(jié)日還有多少天

    這篇文章主要給大家介紹了關(guān)于微信小程序中如何計算距離某個節(jié)日還有多少天的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • javascript的alert box在java中如何顯示多行

    javascript的alert box在java中如何顯示多行

    這篇文章主要介紹了javascript的alert box在java中如何顯示多行,需要的朋友可以參考下
    2014-05-05
  • JavaScript實現(xiàn)將Word文檔解析成瀏覽器認識的HTML

    JavaScript實現(xiàn)將Word文檔解析成瀏覽器認識的HTML

    這篇文章主要為大家詳細介紹了如何使用JavaScript實現(xiàn)將Word文檔解析成瀏覽器認識的HTML,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-02-02
  • JS實現(xiàn)的透明度漸變動畫效果示例

    JS實現(xiàn)的透明度漸變動畫效果示例

    這篇文章主要介紹了JS實現(xiàn)的透明度漸變動畫效果,涉及javascript響應(yīng)鼠標(biāo)事件針對頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • JS中取二維數(shù)組中最大值的方法匯總

    JS中取二維數(shù)組中最大值的方法匯總

    本文通過三種解決方案給大家介紹js中取二維數(shù)組中最大值的方法。介紹的非常詳細,具有參考價值
    2016-04-04
  • 微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄(選項卡)(1)

    微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄(選項卡)(1)

    這篇文章主要為大家詳細介紹了微信小程序?qū)崙?zhàn)之頂部導(dǎo)航欄的相關(guān)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • JS實現(xiàn)輪播圖案例

    JS實現(xiàn)輪播圖案例

    這篇文章主要為大家詳細介紹了JS實現(xiàn)輪播圖案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評論