js判斷空物件

2022-02-07 01:59:53 字數 900 閱讀 6562

最近專案遇到判斷空物件的乙個問題,查閱相關資料再進行總結一下。

如上**可以發現,無論是通過物件字面量方式建立的空物件還是通過object建構函式建立的空物件,彼此之間都是不相等的。

1.將物件轉換為字串進行比較

1

var a={};

2var b=new

object();

3 console.log("物件字面量的比較結果:"+(json.stringify(a)=="{}"))

4 console.log("建構函式的比較結果:"+(json.stringify(b)=="{}"))

我們可以得到兩種空物件轉換為字串後的比較都為真,可以解決這個問題,但是不推薦,下面說第二種方法。

2.for in迴圈

使用for in迴圈可以遍歷所有屬性以次判斷物件是否為空物件:

1

var a={};

2var b=new

object();

3function

isemptyobject(obj);

8return

true9};

10if

(isemptyobject(a))

13if

(isemptyobject(b))

使用for in迴圈對物件進行迴圈時迴圈屬性,相應的對陣列進行迴圈時迴圈的是下標,如:

1

var b = ["hello","my","world"]

2for(var index inb)5

//hello my world

js 空陣列 空物件判斷

12 vararr newarray 或 var arr 我們知道,初始化後,即使陣列arr中沒有元素,也是乙個object。12 typeofarr object 既然是object,用於判斷條件時就會被轉化為true12 if arr console.log it s true it s tru...

js 判斷是否為空物件 空陣列

js 判斷是否為空物件 空陣列 當需要判斷引數是否為空時,總希望 js 能夠提供原生的判斷方法,可惜並沒有,只能自己封裝了。isempty function obj 檢驗陣列 if array.prototype.isprototypeof obj obj.length 0 檢驗物件 if obje...

js 判斷是否為空物件 空陣列

判斷引數是否為空函式 isempty function obj 檢驗陣列 if array.prototype.isprototypeof obj obj.length 0 檢驗物件 if object.prototype.isprototypeof obj object.keys obj leng...