Test name | Executions per second |
---|---|
switch case | 147454.8 Ops/sec |
object literal | 146470.9 Ops/sec |
var str = Math.floor(Math.random() * 40) + 1
switch (str) {
case 1:
console.log('A');
break;
case 2:
console.log('B');
break;
case 3:
console.log('C');
break;
case 4:
console.log('C');
break;
case 5:
console.log('A');
break;
case 6:
console.log('B');
break;
case 7:
console.log('C');
break;
case 8:
console.log('C');
break;
case 9:
console.log('A');
break;
case 10:
console.log('B');
break;
case 11:
console.log('C');
break;
case 12:
console.log('C');
break;
case 13:
console.log('C');
break;
case 14:
console.log('C');
break;
case 15:
console.log('A');
break;
case 16:
console.log('B');
break;
case 17:
console.log('C');
break;
case 18:
console.log('C');
break;
case 19:
console.log('A');
break;
case 20:
console.log('B');
break;
case 21:
console.log('C');
break;
case 22:
console.log('C');
break;
case 23:
console.log('A');
break;
case 24:
console.log('B');
break;
case 25:
console.log('C');
break;
case 26:
console.log('C');
break;
case 27:
console.log('A');
break;
case 28:
console.log('B');
break;
case 29:
console.log('C');
break;
case 30:
console.log('C');
break;
case 31:
console.log('C');
break;
case 32:
console.log('C');
break;
case 33:
console.log('A');
break;
case 34:
console.log('B');
break;
case 35:
console.log('C');
break;
case 36:
console.log('C');
break;
case 37:
console.log('A');
break;
case 38:
console.log('B');
break;
case 39:
console.log('C');
break;
case 40:
console.log('C');
break;
}
var objLiteral = {
1: function () {
console.log('A');
},
2: function () {
console.log('B');
},
3: function () {
console.log('C');
},
4: function () {
console.log('A');
},
5: function () {
console.log('B');
},
6: function () {
console.log('C');
},
7: function () {
console.log('A');
},
8: function () {
console.log('B');
},
9: function () {
console.log('C');
},
10: function () {
console.log('C');
},
11: function () {
console.log('C');
},
12: function () {
console.log('C');
},
13: function () {
console.log('C');
},
14: function () {
console.log('C');
},
15: function () {
console.log('C');
},
16: function () {
console.log('C');
},
17: function () {
console.log('C');
},
18: function () {
console.log('C');
},
19: function () {
console.log('C');
},
20: function () {
console.log('C');
},
21: function () {
console.log('C');
},
22: function () {
console.log('C');
},
23: function () {
console.log('C');
},
24: function () {
console.log('C');
},
25: function () {
console.log('C');
},
26: function () {
console.log('C');
},
27: function () {
console.log('C');
},
28: function () {
console.log('C');
},
29: function () {
console.log('C');
},
30: function () {
console.log('C');
},
31: function () {
console.log('C');
},
32: function () {
console.log('C');
},
33: function () {
console.log('C');
},
34: function () {
console.log('C');
},
35: function () {
console.log('C');
},
36: function () {
console.log('C');
},
37: function () {
console.log('C');
},
38: function () {
console.log('C');
},
39: function () {
console.log('C');
},
40: function () {
console.log('C');
},
};
objLiteral[str]();