В принятом ответе на мой предыдущий вопрос (What is the fastest way to generate a random integer in javascript?), мне было интересно, как число теряет десятичные знаки через символ |
.Как x | 0 нарисовать номер в JavaScript?
Например:
var x = 5.12042;
x = x|0;
Как это пол номер в 5
?
еще несколько примеров:
console.log(104.249834 | 0); //104
console.log(9.999999 | 0); // 9
Вы должны знать, что использование побитовых операторов ограничит вас 32-разрядными целыми знаками. '((Math.pow (2,32)/2) -1) | 0; // 2147483647 'Удалите' -1', и вы не получите желаемый результат. '((Math.pow (2,32)/2)) | 0; // -2147483648' –
Интересно. Вероятно, это причина, по которой эта функция немного быстрее, чем функция 'Math.floor (x)'. http://jsperf.com/floor-or-or – user824294
Это не на самом деле «пол», попробуйте с '-1.23', чтобы увидеть, что произойдет – ajax333221