JSFiddle - React, Tailwind, and code Playground
JavaScript
var doSomething1 = function(n, callback) {
if ("function" !== typeof callback) {
callback = function () {};
}
callback(n+1);
return n+1;
};
var preparedFunction = function () {};
var doSomething1fix = function(n, callback) {
if ("function" !== typeof callback) {
callback = preparedFunction;
}
callback(n+1);
return n+1;
};
var doSomethingIfCallback = function(n, callback) {
if ("function" === typeof callback) {
callback(n+1);
}
return n+1;
};
var doSomething2 = function(n, callback) {
if ("function" !== typeof callback) {
callback = Function.prototype;
}
callback(n+1);
return n+1;
}
var times = 100000;
var tmp = [];
console.time('function(){}');
for (var n=0; n <= times; n++) {
tmp.push(doSomething1(n));
}
console.timeEnd('function(){}');
tmp = [];
console.time('function(){} prepared');
for (var n=0; n <= times; n++) {
tmp.push(doSomething1fix(n));
}
console.timeEnd('function(){} prepared');
tmp = [];
console.time('if callback');
for (var n=0; n <= times; n++) {
tmp.push(doSomethingIfCallback(n));
}
console.timeEnd('if callback');
tmp = [];
console.time('Function.prototype');
for (var n=0; n <= times; n++) {
tmp.push(doSomething2(n));
}
console.timeEnd('Function.prototype');