binding (v4)

Revision 4 of this benchmark created by altanochir on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>

Test runner

Ready to run.

Testing in
TestOps/sec
without bind
var myObj = {

  specialFunction: function() {

  },

  anotherSpecialFunction: function() {

  },

  getAsyncData: function(cb) {
    cb();
  },

  render: function() {
    var that = this;
    this.getAsyncData(function() {
      that.specialFunction();
      that.anotherSpecialFunction();
    });
  }
};

myObj.render();
ready
with bind
var myObj = {

  specialFunction: function() {

  },

  anotherSpecialFunction: function() {

  },

  getAsyncData: function(cb) {
    cb();
  },

  render: function() {

    this.getAsyncData(function() {

      this.specialFunction();

      this.anotherSpecialFunction();

    }.bind(this));

  }
};

myObj.render();
ready
lodash bind
var myObj = {

  specialFunction: function() {

  },

  anotherSpecialFunction: function() {

  },

  getAsyncData: function(cb) {
    cb();
  },

  render: function() {
    this.getAsyncData( _.bind(function() {
      this.specialFunction();
      this.anotherSpecialFunction();
    },this));

  }
};

myObj.render();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.