Сообщение от Gozar
|
Насколько мне известно применение побитовых операций в js не приводит к увеличению скорости, а скорее наоборот.
|
Тут можно еще поспорить:
function test1(defs) {
return {1:0, 2:2, 4:1}[defs];
}
function test2(defs) {
return (defs & ~1) % 3;
}
function test3(defs) {
return [0,0,2,,1][defs];
}
var lastTime=(new Date()).getTime();
for(var i = 0; i < 100000; i++) {
test1(i & 1);
}
alert("Время заняло с использованием объекта (ms): " + ((new Date()).getTime()-lastTime));
var lastTime=(new Date()).getTime();
for(var i = 0; i < 100000; i++) {
test2(i & 1);
}
alert("Время заняло с использованием битов (ms): " + ((new Date()).getTime()-lastTime));
var lastTime=(new Date()).getTime();
for(var i = 0; i < 100000; i++) {
test3(i & 1);
}
alert("Время заняло с использованием массива (ms): " + ((new Date()).getTime()-lastTime));
Opera 12.13:
Время заняло с использованием объекта (ms): 61
Время заняло с использованием битов (ms): 17
Время заняло с использованием массива (ms): 20