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

2021-07-22 09:15:34 字數 811 閱讀 6879

兩種方式,但稍有區別

1,in 運算子1 23

varobj = ;

alert('name'inobj);// --> true

alert('tostring'inobj);// --> true

可看到無論是name,還是原形鏈上的tostring,都能檢測到返回true。

2,hasownproperty 方法1 23

varobj = ;

obj.hasownproperty('name');// --> true

obj.hasownproperty('tostring');// --> false

原型鏈上繼承過來的屬性無法通過hasownproperty檢測到,返回false。

需注意的是,雖然in能檢測到原型鏈的屬性,但for in通常卻不行。

當然重寫原型後for in在ie9/firefox/safari/chrome/opera下是可見的。見:for in的缺陷

JavaScript判斷物件是否為空

非jquery api。部分方法使用到es6中的api 將 轉成字串型別,然後通過string比較 let obj console.log json.stringify obj expect console trueobject.getownpropertynames 方法返回乙個由指定物件的所有自...

判斷物件是否是空物件

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