クロージャーとプロトタイプについてはすでにたくさんの記事を読んでいます...しかし、まだいくつか質問があります。私はこの記事から始めました:http://blogs.msdn.com/b/kristoffer/archive/2007/02/13/javascript-prototype-versus-closure-execution-speed.aspx
私の質問は、パブリックメソッドを公開しようとしています。
この方法ですか:
// Closure implementation
function Pixel(x, y){
this.x = x;
this.y = y;
this.getX = function(){
return this.x;
}
this.getY = function(){
return this.y;
}
this.setX = function(value){
this.x = value;
}
this.setY = function(value){
this.y = value;
}
}
これとは異なります:
// Closure implementation
function Pixel(x, y){
this.x = x;
this.y = y;
return {
getX : function(){
return this.x;
},
getY : function(){
return this.y;
},
setX : function(value){
this.x = value;
},
setY : function(value){
this.y = value;
}
}
}
どれが一番いいですか?なぜ?
最後の質問:上記のベンチマークから、クロージャーを使用してプロトタイプと同様のパフォーマンスを実現する方法はありますか?
tx