Дважды больше, чем символ в JavaScript
Что это значит: → означает в JavaScript?
В этом контексте:
document.onkeydown = document.onkeyup = function(e,v,y,k) {
(i=e.keyCode-37)>>2 || (keys[i] = e.type[5]&&1||(0))
}
Ответы
Ответ 1
Побитовые операторы javascript
Левый сдвиг a < b Сдвигает a в двоичном представление b (< 32) бит к слева, смещение в нулях от вправо.
Распространяющий знак сдвиг вправо a → b Сдвигает a в двоичном представлении b (< 32) бит вправо, отбрасывание биты сдвинуты.
Ответ 2
>>
является побитовым оператором сдвига вправо.
Например: 4 >> 1
equals 2
, потому что 4 является 100
в двоичной нотации, которая сдвигается на один бит вправо, предоставляя нам 10
= 2
Ответ 3
(i=e.keyCode-37)>>2
Этот код отбрасывает два младших значащих бита я (аналогично делению на 4) и сравнивает результат с нолем. Это будет ложно, если нажата клавиша 37-40 (клавиши со стрелками) и true в противном случае.
Ответ 4
Это оператор побитового сдвига (см. здесь).
Теперь, что именно он здесь делает, я не уверен... Я уверен, что некоторые из наших более крупных мозгов, которые на самом деле закончили колледж, могут помочь нам в этом.; ^)