非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...