JS對(duì)象是否擁有某屬性如何判斷
JS對(duì)象是否擁有某屬性
兩種方式,但稍有區(qū)別
1,in 運(yùn)算符
var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true
可看到無(wú)論是name,還是原形鏈上的toString,都能檢測(cè)到返回true。
2,hasOwnProperty 方法
var obj = {name:'jack'};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false
原型鏈上繼承過(guò)來(lái)的屬性無(wú)法通過(guò)hasOwnProperty檢測(cè)到,返回false。
需注意的是,雖然in能檢測(cè)到原型鏈的屬性,但for in通常卻不行。
當(dāng)然重寫(xiě)原型后for in在IE9/Firefox/Safari/Chrome/Opera下是可見(jiàn)的。見(jiàn):for in的缺陷
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Knockout結(jié)合Bootstrap創(chuàng)建動(dòng)態(tài)UI實(shí)現(xiàn)產(chǎn)品列表管理
這篇文章主要為大家詳細(xì)介紹了Knockout結(jié)合Bootstrap創(chuàng)建動(dòng)態(tài)UI實(shí)現(xiàn)產(chǎn)品列表管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Typescript井字棋的項(xiàng)目實(shí)現(xiàn)
本文主要介紹了Typescript井字棋的項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
JS腳本實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)秒殺點(diǎn)擊
本篇文章主要教給大家如何用JS寫(xiě)一些商城中秒殺等自動(dòng)點(diǎn)擊功能,有這方面需要的朋友趕快學(xué)習(xí)下思路吧。2018-01-01
使用JS中的exec()方法構(gòu)造正則表達(dá)式驗(yàn)證
這篇文章主要介紹了使用JS中的exec()方法構(gòu)造正則表達(dá)式驗(yàn)證的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08

