判斷JS物件是否擁有某屬性,怎麼判斷JS物件是否擁有某屬性?

2021-04-11 15:46:14 字數 1726 閱讀 6116

1樓:day說好了不哭

object.hasownproperty.call(物件, '屬性')

用call方法避免更改原型鏈中的hasownproperty方法

2樓:壬盛海爾風

可以用bai

in操作

du符zhi

和物件的dao

hasownproperty

操作符舉例

"name"

inobject

object.hasownproperty("name")有個公共版的方權法

function

hasprototype(object,name)

判斷js物件是否擁有某屬性

3樓:匿名使用者

用hasownproperty(),如

var obj = ;

alert(obj.hasownproperty("a")); // true

4樓:猶紫巢真一

兩種方式,但稍有區別

1,in

運算子var

obj=

;alert('name'

inobj);

//-->

true

alert('tostring'

inobj);

//-->

true

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

2,hasownproperty

方法var

obj=

;obj.hasownproperty('name');

//-->

true

obj.hasownproperty('tostring');

//-->

false

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

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

當然重寫原型後for

in在ie9/firefox/safari/chrome/opera下是可見的。見:for

in的缺陷

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!

怎麼判斷js物件是否擁有某屬性?

5樓:會昌一中的學生

判斷js物件是否擁有某屬性的方法:

1、in 運算子

var obj = ;

alert('name' in obj); // --> true

alert('tostring' in obj); // --> true

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

2、hasownproperty 方法

var obj = ;

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

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

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

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

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

js怎麼判斷陣列中是否包含某個屬性

可以用陣列的indexof函式,方法arr.indexof find,start find 要找的內容,必須 start 查詢開始下標,可選版 返回 查詢資料所 權在的下標,如果沒找到,返回 1 如果只要知道是否有8這個數字,直接呼叫arr.indexof 8 如果返回值不為 1,說明找到了 var...

怎麼獲取js陣列中的物件的屬性,js怎麼遍歷陣列中的物件的屬性

var contacts bob,mary console.log contacts 1 phonenumber 你定義的var contacts bob mary 它就是自 一個普bai通陣列,裡面的bob.mary帶引號它du就是個字串,zhi並不是你想象中的json陣列的合併,也就是說cont...

C 中如何判斷物件是否屬於某個類

c 語言判斷一個物件有兩種機制 在執行時判斷,使用if else int i if typeid i typeid int cout i is int endl else cout i is not int endl 在編譯時判斷,使用過載或者特化 template class t void fun...