2015-05-11 4 views
4

Я не понимаю, что >> = означает (я думал больше или равно был> =) и что есть: (раз & 1) снизу.Что значит >> = означает?

function repeat (string, times) { 
var result = '' 
while (times > 0) { 
if (times & 1) result += string 
times >>= 1 
string += string 
} 
return result 
} 
+0

Похоже, это оператор побитового, но тогда я не понимаю, почему '=' там ... Это смущая даже меня. – Zizouz212

+0

См. Здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators - очень полезный ресурс – Dinesh

+0

'times >> = 1' является короткой вырезкой, такой же, как' times = times> > 1'. Подобно синтаксису 'a + = b' (' a = a + b'). – huocp

ответ

5

>>= является сдвиг вправо-и-правопреемником see. >>= 1 - просто целое деление на 2.

& - Побитовое И see. time & 1 просто проверяет, является ли оно нечетным.

Для получения дополнительного направляющей углубленный на все JavaScript операторов, смотрите здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators

Смежные вопросы