亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript 里 in 運算符繼承屬性的問題

JavaScript 里 in 運算符繼承屬性的問題

翻閱古今 2019-04-14 09:52:21
varo=newObject();o.OwnProperty('toString')//false'toString'ino//true里這句'toString'ino這句為何會返回true?
查看完整描述

2 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

obj.hasOwnProperty判斷某屬性是“自身屬性”還是“繼承自原型對象的屬性”;
in操作符判斷的是該對象的某屬性是否存在且可枚舉;
                            
查看完整回答
反對 回復 2019-04-14
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

我覺得你不應該奇怪in,反而應該奇怪hasOwnPropery吧。不信你運行o.hasOwnProperty('hasOwnProperty')試試。關于這個MDN上不是已經講的很詳細了么:
EveryobjectdescendedfromObjectinheritsthehasOwnPropertymethod.Thismethodcanbeusedtodeterminewhetheranobjecthasthespecifiedpropertyasadirectpropertyofthatobject;unliketheinoperator,thismethoddoesnotcheckdowntheobject'sprototypechain.Object.prototype.hasOwnProperty
所以你可以這么理解:hasOwnProperty是檢查自己真正擁有的屬性,不檢查繼承的屬性;而in是只要在對象內的屬性都會檢查。
                            
查看完整回答
反對 回復 2019-04-14
  • 2 回答
  • 0 關注
  • 344 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號