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

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

如何查找函數中的屬性

如何查找函數中的屬性

江戶川亂折騰 2024-01-18 16:03:53
我想知道一個函數是否具有特定的屬性?!癷n”運算符應該已經完成了這項工作:MSD 引用:如果指定的屬性位于指定對象或其原型鏈中,則 in 運算符返回 true。那么 - 你能解釋一下這段代碼的結果嗎?function Shape() {  aaa = 10}Shape.prototype.bbb = 20function Square() {}Square.prototype = Object.create(Shape.prototype)Square.prototype.constructor = Square;console.log('aaa' in Shape) // false???console.log('bbb' in Shape) // false???console.log('aaa' in Square) // false???console.log('bbb' in Square) // false???```
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

in不檢查自身的屬性class。它檢查類實例中的屬性。


function Shape() {

  aaa = 10

}

Shape.prototype.bbb = 20


function Square() {}

Square.prototype = Object.create(Shape.prototype)

Square.prototype.constructor = Square;

const instance = new Square();

console.log('aaa' in instance) // false

console.log('bbb' in instance) // true

在這里,當您將屬性分配給某些原型時,function并不意味著該函數將具有這些屬性。原型上的這些屬性將添加到對象創建的實例中。


是的,如果您將屬性分配給函數本身,那么它將顯示使用in


function test(){


}

test.prototype.x = 3;

test.something = 5

console.log(Object.keys(test)) //["something"]

console.log("something" in test) //true


查看完整回答
反對 回復 2024-01-18
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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