Math.floor()
sẽ hoạt động, nhưng nó rất chậm so với sử dụng thao OR
tác bitwise :
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
EDIT Math.floor()
là không chậm hơn so với sử dụng | nhà điều hành. Cảm ơn Jason S đã kiểm tra công việc của tôi.
Đây là mã tôi đã sử dụng để kiểm tra:
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 );