Wird Funktion.der Prototyp.bind () - immer langsam sein?

Ich Schreibe ein open source javascript-Bibliothek, und ich nutze .bind() Methode sehr stark, da habe ich eine Idee, die Objekt-orientierten code sieht mehr klar dann. (umstritten, obwohl)

Beispiel

A1:

var that = this;

setTimeout(function () {
    that.method();
}, 0);

vs

B1:

setTimeout(this.method.bind(this), 0);

Oder, eine mehr praktische code-Teil

A2:

remoteDataSource.getData(function (a, b, c, d) {
     obj.dataGetter(a, b, c, d);
})

vs B2:

remoteDataSource.getData(obj/* or prototype */.dataGetter.bind(obj));

Ich eine nicht-native bind für ältere Browser, und alles ging perfekt, bis ich eröffnete ein jsperf benchmark für bind.

Sieht es aus wie code mithilfe bind ist 100-mal langsamer. Jetzt, vor dem umschreiben aller meiner Bibliothek, ich habe eine Frage für diejenigen, die vertraut sind mit javascript-engines:

Gibt es eine Wahrscheinlichkeit, dass sich eine neue Funktion, die bind wird optimiert
bald, oder es ist keine chance, denn der JavaScript-Architektur die Grenzen?

InformationsquelleAutor Dan | 2013-09-19
Schreibe einen Kommentar