在建構函式中指派原型方法:不明智的做法
建立原型物件時,在建構函式中指派方法是一種常見的做法本身。然而,這種方法會引起對缺點和意外範圍問題的擔憂。
缺點:
運行時後果:
在效能方面,直接在物件上分配方法(而不是原型)可以提高執行速度。這是因為直接存取物件方法會繞過原型查找。
範圍界定警告:
在構造函數中分配原型方法的做法在多個場景中可能會特別成問題。物件的實例存在。如提供的 Counter 範例所示,每個實例的 get 方法引用最後建立的實例的建構函數的相同局部變數。這會導致意外和不正確的行為。
建議:
為了避免這些問題並確保程式碼可靠,建議在建構函式之外分配原型方法。這可以提高清晰度、避免範圍問題並提高效能。
以上是為什麼在構造函數中分配原型方法是不明智的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!