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