Performance of Assigning variables in JavaScript (v5)

Revision 5 of this benchmark created by Jason Day on


Description

switch versus if/else

Setup

window.locatio = {};
    window.id = "yahoo"; //Declare global variable

Test runner

Ready to run.

Testing in
TestOps/sec
if-elseif
if (id === "camelCase") {
  window.locatio.href = "http://www.thecamelcase.com";
} else if (id === "jsFiddle") {
  window.locatio.href = "http://jsfiddle.net/";
} else if (id === "cricInfo") {
  window.locatio.href = "http://cricinfo.com/";
} else if (id === "nope1") {} else if (id === "nope2") {} else if (id === "nope3") {} else if (id === "nope4") {} else if (id === "nope5") {} else if (id === "nope6") {} else if (id === "nope7") {} else if (id === "nope8") {} else if (id === "nope9") {} else if (id === "nope0") {} else if (id === "apple") {
  window.locatio.href = "http://apple.com/";
} else if (id === "yahoo") {
  window.locatio.href = "http://yahoo.com/";
}
ready
Switch
switch (id) {
case 'camelCase':
  window.locatio.href = "http://www.thecamelcase.com";
  break;
case 'jsFiddle':
  window.locatio.href = "http://www.jsfiddle.net";
  break;
case 'cricInfo':
  window.locatio.href = "http://www.cricinfo.com";
  break;
case 'apple':
  window.locatio.href = "http://www.apple.com";
  break;
case "nope1":
  break;
case "nope2":
  break;
case "nope3":
  break;
case "nope4":
  break;
case "nope5":
  break;
case "nope6":
  break;
case "nope7":
  break;
case "nope8":
  break;
case "nope9":
  break;
case "nope0":
  break;
case 'yahoo':
  window.locatio.href = "http://www.yahoo.com";
  break;

}
ready

Revisions

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