пример с массивом и битами работают почти с одинаковой скоростью... Хотя если позапускать несколько раз, то видно что идентичны.. Но вот с объектами все намного хуже.
Можно провести тест со свитчем:
function test1(defs) {
switch(defs) {
case 1:
return 0;
case 2:
return 2;
case 4:
return 1;
deafult:
return 0;
}
}
var lastTime=(new Date()).getTime();
for(var i = 0; i < 100000; i++) {
test1(i & 1);
}
alert("Время заняло с использованием switch (ms): " + ((new Date()).getTime()-lastTime));
Opera 12.13
Время заняло с использованием switch (ms): 15