0
ちょっと私は、 'イベント'とコールバック関数 "fun"をMyEventsのプロトタイプに追加しようとしていて、以下のコードの一部を理解していません!私のコードのプロトタイプにプロパティを追加する適切な方法
function MyEvents(events){
this.events={};
}
MyEvents.prototype.adding=function(event,func){
var array=[]
this.array.push(func);
this.array.push(event);
this.events[event] = array; //I don't understand this part-why is that necessary?
}
説明できますか? ありがとうございます!また
//constructor function
function MyEvents(){
this.events={};
}
//extending the prototype with a function called adding
MyEvents.prototype.adding = function(event,func){
this.events[event] = func
}
//instantiating a new object using the new operator on the constructor function
my_new_obj = new MyEvents()
//calling the adding function on the prototype and passing it the two arguments
my_new_obj.adding('test',function greet(){console.log('Hello')})
//calling the function you just added
my_new_obj['events']['test']()
、あなたはプロトタイプに追加する方法(機能が)あなたのインスタンス化my_new_objプロパティにアクセスすることができますので、これは非常に強力であることに注意してください:
'this.array'の代わりに' array'だけがあるはずです。もう少し文脈はありますか? – BoltKey
これを使わずに試しました。私はthis.events [event] =配列を含めない限りうまくいきませんでした。私はなぜそれを含める必要があるのか分かりません。エクササイズの一部分です。今のところ、コールバック関数とイベントをプロトタイプの配列に追加する必要があります。 – javascripting
@javascripting:コードの残りの部分を表示してください。アレイはどこで使われていますか?それで、なぜあなたがその '.events'オブジェクトに格納する必要があるのかを知ります。 – Bergi