js のプロトタイプの継承を試した後、オブジェクトのメソッドをオブジェクトの外部で宣言しなければならないという考えに夢中ではないことがわかりました。
function obj(){
this.averyday='i\'m shuffle\'n';
this.gibmo='dinero';
this.pullOut='that\'s what she said lol';
}
obj.prototype.alertProp=function(){
alert(this.averyday);
}
obj.prototype.alertProp2=function(){
alert(this.gibmo);
}
そこで、メソッドを 1 つの名前空間に整理する方法を思いついた
obj.prototype.m={
//i'm passing in the object instance so the mathods can have access to it's properties
alertProp:function(that){
alert(that.theObj.everyday);
},
alertProp2:function(that){
alert(that.myObj.gibmo+' '+that.myObj.someVal); // alerts "dinero some other value to be use "
}
}
var myobj = new obj;
次に、メソッドを呼び出してオブジェクトインスタンスを渡すだけです(メソッドがオブジェクトのプロパティを変更する必要がある場合)
myobj.m.alertProp({theObj:myobj,someVal:'some other value to be use'}) //alerts "i'm shuffle'n"
だからここに私が気づいたいくつかの長所があります:
長所:
1) メソッドを 1 つの集中領域に編成します。
2) オブジェクトの「プロトタイプ」に 1 回だけアクセスします (実際には使用するコードが少なくなります)。
3)より読みやすいようです(少なくとも私には)。
短所:...これは私が皆さんの助けを必要とするところです.誰かがこのようにすることに何か問題があると思いますか? パフォーマンスの問題や、私が概説したプロの何か問題など...?
また、私が見ていない、または明らかではない他のプロを見ている人はいますか?