Math.floor()
akan bekerja, tetapi sangat lambat dibandingkan dengan menggunakan OR
operasi bitwise :
var rounded = 34.923 | 0;
alert( rounded );
//alerts "34"
EDIT Math.floor()
adalah tidak lebih lambat dari menggunakan | operator. Terima kasih kepada Jason S karena telah memeriksa pekerjaan saya.
Berikut kode yang saya gunakan untuk menguji:
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 );