Hi 
Kann mir jemand diese Syntax erklären?
Und zwar diese Zeile:
var target = this.plan.bind.apply(this.plan, contextArgs);
Ich verstehe nicht, warum man bind ohne Klammern hier nutzen kann. Also nicht so this.plan.bind(...).apply(...)
bind gibt ja eine neue Funktion zurück, aber ohne Klammern ist es doch nur die Funktionsdeklaration?
Kann mir jemand diese Syntax erklären?
Javascript:
SpyStrategy.prototype.exec = function(context, args, invokeNew) {
var contextArgs = [context].concat(
args ? Array.prototype.slice.call(args) : []
);
var target = this.plan.bind.apply(this.plan, contextArgs);
return invokeNew ? new target() : target();
};
Und zwar diese Zeile:
var target = this.plan.bind.apply(this.plan, contextArgs);
Ich verstehe nicht, warum man bind ohne Klammern hier nutzen kann. Also nicht so this.plan.bind(...).apply(...)
bind gibt ja eine neue Funktion zurück, aber ohne Klammern ist es doch nur die Funktionsdeklaration?