dein *1 zum Typecasting ist ggf. auch etwas ruppig - hier solltest du z.B. auf parseInt() zurückgreifen.
AFAIR ist *1 deutlich schneller als parseInt(). Noch schneller dürfte -0 sein.
Nicht unbedingt.
var test = {
parseInt: function () { var i = '100.10'; i = parseInt(i);},
parseFloat: function () { var i = '100.10'; i = parseFloat(i);},
mal: function () { var i = '100.10'; i = 1 * i;},
'null': function () { var i = '100.10'; i = i - 0 ;}
};
[link:http://javascript.jstruebig.de/javascript/368/@title=Benchmark](200000, test, function(t) {alert(t);});
FF 3.5
JS Benchmark. Anzahl der Durchläufe: 200.000
----------------------------------------
parseInt:...........265ms = 754.716/sekunde.........................
mal:................321ms = 623.052/sekunde.........................
null:...............322ms = 621.118/sekunde.........................
parseFloat:.........325ms = 615.384/sekunde.........................
OP 10
JS Benchmark. Anzahl der Durchläufe: 200.000
----------------------------------------
mal:................203ms = 985.221/sekunde.........................
null:...............234ms = 854.700/sekunde.........................
parseFloat:.........281ms = 711.743/sekunde.........................
parseInt:...........407ms = 491.400/sekunde......
IE 6
JS Benchmark. Anzahl der Durchläufe: 200.000
----------------------------------------
mal:................1297m = 154.202/sekunde.........................
null:...............1312m = 152.439/sekunde.........................
parseFloat:.........1765m = 113.314/sekunde.........................
parseInt:...........2000m = 100.000/sekunde.........................
Struppi.