Sagen, zum Beispiel, ich muss ein onclick
Ereignis, das eine andere Funktion ruft sayHello()
Hallo sagen, mit seinem Parameter als eine Variable im aktuellen Bereich verfügbar.IIFE vs Bind() für Ereignis/Callback-Funktion
ich IIFE verwenden könnte die Variable in den Rahmen der anonymen Funktion zu injizieren, wie folgt:
var currentName = "James";
something.onclick = (function(name) {
return function() {
sayHello(name);
};
})(currentName);
Aber ich könnte auch eine Version von Funktion currying über die bind()
Methode wie folgt:
var currentName = "James";
something.onclick = sayHello.bind(null, currentName);
Trotz der Tatsache, dass Sie mit dem IIFE-Ansatz mehr als nur einen Funktionsaufruf in der anonymen Methode ausführen können, gibt es irgendwelche Nachteile für den Curry-Ansatz?
Sie übergeben den Ereignisparameter nicht an 'sayHello', und es ist wesentlich länger. – Bergi
Sie können als Antwort senden, @Bergi, und ich werde als die akzeptierte Antwort markieren. – Dan