Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
Chrome 85
Windows
Desktop
4 years ago
Test name Executions per second
direct call 84977.9 Ops/sec
bind 62383.8 Ops/sec
call 63197.5 Ops/sec
apply 67106.0 Ops/sec
method call 64812.5 Ops/sec
Script Preparation code:
AخA
 
function test(msg) {
  console.log(this, msg);
}
function test1(self, msg) {
  console.log(self, msg);
}
function test2(msg) {
  console.log(this, msg);
}
function test3(msg) {
  console.log(this, msg);
}
function test4(msg) {
  console.log(this, msg);
}
String.prototype.test5 = function(msg) {
  console.log(this, msg)
}
Tests:
  • direct call

     
    test1("World", "Hello");
  • bind

     
    test2.bind("World", "Hello")();
  • call

     
    test3.call("World", "Hello");
  • apply

     
    test4.apply("World", ["Hello"]);
  • method call

     
    "World".test5("Hello")