2011-04-19 22 views

Respuesta

10

Es un operador bit a bit, aquí hay una explicación tomada de this page.

Este es el relleno de cero desplazamiento a la derecha operador que desplaza el binario representación del primer operando a la derecha por el número de lugares especificados por el segundo operando. Los bits desplazados a la derecha se descartan y se agregan ceros a la izquierda. Con un número positivo que se obtendría el mismo resultado que con los números de propagación de signo operador de desplazamiento a la derecha, pero negativas pierden su signo convertirse en positivo como en el siguiente ejemplo, que (suponiendo 'a' para ser - 13) devolvería 1073741820:

Sin embargo, los operadores bit a bit son bastante lentos en JavaScript.

+0

+1 mirando en la misma página :) –

+3

Esa última línea es un poco equivocada. No son * particularmente * lentos en las implementaciones modernas y a menudo encontrarás que son una alternativa más rápida a los métodos menos concisos. –

+0

Ah, iba por lo que dijo Douglas Crockford en 'JavaScript: The good parts'. Él dice que los evite debido a su velocidad. Aunque probablemente tengas razón, V8 parece ser rápido en casi todo. – Olical

8

Es el operador de desplazamiento a la derecha con cero relleno (a diferencia del cambio a la derecha que se propaga por el signo, >>).