Performance comparison between ways to declare a function in JavaScript
Results on Chrome
- var start=(new Date()).getTime();
for(var i=0;i<1000000;i++){
function fn1(){
return "Traditional approach";
}
}
var end=(new Date()).getTime();
console.log(end-start);Test 1: 946 milliseconds. Test 2: 950 milliseconds.
- var start=(new Date()).getTime();
for(var i=0;i<1000000;i++){
var fn2 = function(){
return "Using var keyword";
}
}
var end=(new Date()).getTime();
console.log(end-start);Test 1: 1476 milliseconds. Test 2: 1476 milliseconds.
- var start=(new Date()).getTime();
for(var i=0;i<1000000;i++){
window.fn3 = function(){
return "As a member of window object";
}
}
var end=(new Date()).getTime();
console.log(end-start);Test 1: 1809 milliseconds. Test 2: 1808 milliseconds.