JavaScriptコードを最適化するためのGoogle開発者の推奨事項では、オブジェクトの新しい変数を宣言/初期化する最良の方法はプロトタイプを使用することであると述べています。たとえば、次の代わりに:
foo.Bar = function() {
this.prop1_ = 4;
this.prop2_ = true;
this.prop3_ = [];
this.prop4_ = 'blah';
};
使用する:
foo.Bar = function() {
this.prop3_ = [];
};
foo.Bar.prototype.prop1_ = 4;
foo.Bar.prototype.prop2_ = true;
foo.Bar.prototype.prop4_ = 'blah';
ただし、私の場合、変数間に依存関係があります。たとえば、次のようになります。
var appv2 = function(){
this.start(this.person, this.car);
};
appv2.prototype.toWhom = 'Mohamed';
appv2.prototype.person = new person(this.toWhom);
appv2.prototype.car = new car();
appv2.prototype.start = function(person, car){
console.log('start for appv2 is called');
person.sayHello('me app v2');
car.brand();
};
new appv2();
メイン コンストラクタ本体またはオブジェクトのメソッド関数の外側で使用this.toWhom
すると、未定義になります。これを解決するには、appv2.prototype.toWhom
代わりに使用するthis.toWhom
か、メイン コンストラクター本体内で従属変数を宣言します。
しかし、パフォーマンスの観点から、これを達成するための最良の方法は何ですか?
ありがとう