2015-10-27 1 views
1

Я смотрел в asm.js использовать для проекта в последнее время, и я заметил, что очень часто asm.js скомпилированный код закончится заявление с |0;, даже, казалось бы, избыточно, как в заявлении i = i|0;Что делает? 0 в Javascript?

Это не то, с чем я столкнулся в Javascript-коде раньше. Для чего это?

EDIT

Я не считаю, что это дубликат. Я знаю, что поразрядно или есть. Я специально задаю здесь, почему можно использовать его или с 0 перед назначением. Какая цель это служит?

+0

просто см. Документ: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_OR – Grundy

+1

@Grundy Я знаю, что побито или есть. В этом случае я просто не понял цели этого. – Luke

+0

так, см. Дублированный вопрос – Grundy

ответ

3

Преобразование в целое число и применение поразрядного или с 0. В основном короткая форма Math.floor().

+1

Обратите внимание, что 'undefined'' NaN' и 'null' также превращаются в' 0' с этим! :-) –