国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 14:05:43
字體:
來源:轉載
供稿:網友

首先說下null與undefined區別:

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

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

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

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

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

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

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

var a = {};a.name = 'realwall';console.log(isEmpty(a)); //falseconsole.log(isEmpty({})); //trueconsole.log(isEmpty(null)); //true//注意參數為null時無語法錯誤哦,即雖然不能對null空指針對象添加屬性,但可以使用for in 語句  ?/** 檢測對象是否是空對象(不包含任何可讀屬性)。* 方法只既檢測對象本身的屬性,不檢測從原型繼承的屬性。*/function isOwnEmpty(obj){for(var name in obj){if(obj.hasOwnProperty(name)){return false;}}return true;};

{}與null的區別:

這個東西很重要。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台市| 黄石市| 杭州市| 海盐县| 施甸县| 禄丰县| 莆田市| 临江市| 偃师市| 松江区| 申扎县| 南投县| 商都县| 高青县| 泰宁县| 任丘市| 民丰县| 尼玛县| 滕州市| 富蕴县| 新巴尔虎左旗| 邮箱| 宜章县| 阳曲县| 玛纳斯县| 辉县市| 炉霍县| 瑞安市| 航空| 大港区| 确山县| 临海市| 义马市| 珲春市| 江山市| 泾源县| 哈密市| 和龙市| 桐柏县| 澄迈县| 阿合奇县|