Math.floor()
будет работать, но это очень медленно по сравнению с использованием побитовой операции OR
:
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
РЕДАКТИРОВАТЬ Math.floor()
на не медленнее, чем при использовании | оператор. Спасибо Джейсону С. за проверку моей работы.
Вот код, который я использовал для проверки:
var a = [];
var time = new Date().getTime();
for( i = 0; i < 100000; i++ ) {
//a.push( Math.random() * 100000 | 0 );
a.push( Math.floor( Math.random() * 100000 ) );
}
var elapsed = new Date().getTime() - time;
alert( "elapsed time: " + elapsed );