您好,登錄后才能下訂單哦!
JS對象是否擁有某屬性
兩種方式,但稍有區別
1,in 運算符
var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' in obj); // --> true
可看到無論是name,還是原形鏈上的toString,都能檢測到返回true。
2,hasOwnProperty 方法
var obj = {name:'jack'}; obj.hasOwnProperty('name'); // --> true obj.hasOwnProperty('toString'); // --> false
原型鏈上繼承過來的屬性無法通過hasOwnProperty檢測到,返回false。
需注意的是,雖然in能檢測到原型鏈的屬性,但for in通常卻不行。
當然重寫原型后for in在IE9/Firefox/Safari/Chrome/Opera下是可見的。見:for in的缺陷
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。