1.2.5.2.函數建構子與「.prototype」
Last updated
Was this helpful?
Last updated
Was this helpful?
JavaScript的
JavaScript的函數除了CODE property, name property之外, 還會有原型屬性(prototype property)
原型屬性(prototype property)
一旦使用new運算子時, 將函數當成函數運算子時才會用到
任何使用new所建立的物件, 我可以新增屬性到這些物件上, 因為已經有原型物件
並不是在設定或取用函數的原型, 而是物件的原型
函數的原型屬性(prototype property), 其實就是用函數建構子建立的物件, 其原型鍊所指向的東西
可以用原型屬性(prototype property)為函數原型增加一個新方法
當要取用這些方法時, 會先看這些物件存不存在
真正好的JavaScript code, 屬性會在建構子中被設定, 因為他們常常是不同的值
但是方法用prototype設定的好處之一是: 不需要新增函數給每個物件, 會佔太多記憶體, 每個物件都會拷貝一份