2016-06-02 1 views
0

Hey Im versuchen, "Ereignis" und eine Rückruffunktion "Spaß" zu einem Prototyp von MyEvents hinzuzufügen und einen Teil des Codes unten nicht zu verstehen!richtige Art des Hinzufügens von Eigenschaften zu Prototypen in meinem Code

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? 
} 

Könnte jemand bitte erklären? Danke !!

+3

Ich glaube, es sollte nur 'Array' anstelle von' this.array' geben. Hast du etwas mehr Kontext? – BoltKey

+0

Ich habe es ohne dies versucht. und es hat auch nicht funktioniert, es sei denn, ich habe this.events [event] = array; und ich denke nur, warum ich das mit einbeziehen muss. Es ist nur ein Teil einer Übung, und jetzt muss ich nur noch ein Callback-Func und ein Event zu einem Array zu dem – javascripting

+0

@javascripting hinzufügen: Zeig uns den Rest des Codes . Wo sonst wird das Array verwendet? Dann werden Sie wissen, warum Sie es in diesem '.events'-Objekt speichern wollen (müssen). – Bergi

Antwort

0

Höchstwahrscheinlich werden Sie versuchen, etwas zu tun:

//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']() 

Beachten Sie auch, dass diese sehr mächtig sein kann, weil die Methoden (Funktionen), die Sie zum Prototyp hinzufügen können Ihre instanziiert my_new_obj Eigenschaften zugreifen.

+0

Nein, OP möchte wirklich eine Reihe von Funktionen. – Bergi

Verwandte Themen