Wie kann ich in Javascript Argumente an eine Funktion binden, ohne den thisParameter zu binden ?
Beispielsweise:
//Example function.
var c = function(a, b, c, callback) {};
//Bind values 1, 2, and 3 to a, b, and c, leave callback unbound.
var b = c.bind(null, 1, 2, 3); //How can I do this without binding scope?
Wie kann ich den Nebeneffekt vermeiden, dass der Funktionsumfang (z. B. Einstellung this= Null) ebenfalls gebunden werden muss?
Bearbeiten:
Entschuldigung für die Verwirrung. Ich möchte Argumente binden, dann die gebundene Funktion später aufrufen und sie genau so verhalten lassen, als hätte ich die ursprüngliche Funktion aufgerufen und ihr die gebundenen Argumente übergeben:
var x = 'outside object';
var obj = {
x: 'inside object',
c: function(a, b, c, callback) {
console.log(this.x);
}
};
var b = obj.c.bind(null, 1, 2, 3);
//These should both have exact same output.
obj.c(1, 2, 3, function(){});
b(function(){});
//The following works, but I was hoping there was a better way:
var b = obj.c.bind(obj, 1, 2, 3); //Anyway to make it work without typing obj twice?
Ich bin noch neu in diesem Bereich, entschuldige die Verwirrung.
Vielen Dank!
bind()sein zu haben null? Scheint in FF gut zu funktionieren.
thisin JavaScript nicht vollständig ungebunden sein. Es bedeutet immer etwas . Eine Bindung thisan die thiseinschließende Funktion ist daher sehr sinnvoll.
this?var b = c.bind(this, 1,2,3);