」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 原型方法應在構造函數外定義的原因及優勢

原型方法應在構造函數外定義的原因及優勢

發佈於2025-04-19
瀏覽:805

Why Should Prototype Methods Be Defined Outside the Constructor Function? 
在構造函數函數中分配原型方法:電位陷阱

但是,此方法與替代結構相比有幾個缺點:

函數縮寫: 是多次分配的,多次分配,這是不必要的,並且可能具有不必要的性能含義。原型方法內的構造函數可能會導致意外結果。例如:

In this scenario, get() returns the value of c2's local variable value instead of c1's because the method closure references the most recently defined value on the prototype.

var Filter = function( category, value ){
  this.category = category;
  this.value = value;

  // product is a JSON object
  Filter.prototype.checkProduct = function( product ){
    // run some checks
    return is_match;
  }
};
Other Considerations:

var Filter = function( category, value ){
  this.category = category;
  this.value = value;

  // product is a JSON object
  Filter.prototype.checkProduct = function( product ){
    // run some checks
    return is_match;
  }
};

Prototyping Outside the構造函數:第一個結構禁止訪問構造函數之外的原型,潛在地限制靈活性。 方法放置:

在第二個結構中,方法直接放置在對像上,而不是原型,這可能會在某些原型上提高性能case。
    結論:
  1. ,而第一個結構可能會令人愉悅,它可以引入功能缺陷和範圍問題。通常建議分配構造函數函數之外的原型方法(如第二個結構中)以避免潛在問題。
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3