JavaScript判斷物件是否為空

2021-09-08 13:20:05 字數 749 閱讀 7340

非jquery api。部分方法使用到es6中的api

將{}轉成字串型別,然後通過string比較

let obj = {}

console.log(json.stringify(obj) === '{}'); //expect console true

object.getownpropertynames()方法返回乙個由指定物件的所有自身屬性的屬性名(包括不可列舉屬性但不包括symbol值作為名稱的屬性)組成的陣列。通過返回陣列的長度來判斷是否是空物件。

let obj = {}

console.log(object.getownpropertynames(obj).length === 0 ? 'isempty' : 'not empty')

配合三元表示式可以很簡潔的做出判斷。

ie8以下不相容

es6

let obj = {}

console.log(object.keys(obj).length === 0 ? 'isempty' : 'not empty')

原理和2差不多。使用起來也比較直接。

ie8以下不相容

es5

此外還可以通過for…in…等迴圈的方式來判斷。由於在實際過程中不夠簡潔,故不做整理了。

JavaScript判斷物件是否含有某個屬性

兩種方式,但稍有區別 1,in 運算子1 23 varobj alert name inobj true alert tostring inobj true 可看到無論是name,還是原形鏈上的tostring,都能檢測到返回true。2,hasownproperty 方法1 23 varobj o...

判斷物件是否是空物件

object.keys 方法會返回乙個由乙個給定物件的自身可列舉屬性組成的陣列。通過陣列中屬性的個數判斷是否為空物件。const empty object.keys empty length 0 empty.constructor object 而且需要判斷物件的constructor屬性是否等於o...

js判斷物件是否存在

例項如下 if typeof obj undefined 如果typeof obj undefined 為true則該物件不存在,當前指令碼還沒有定義該物件 其他的寫法要注意 這種方法不起作用 if x undefined 操作語句 這個方法同樣不起作用 必須檢查 字串 undefined if t...