2012-03-14 5 views
-2

Что делают | =, & = и ~ делать?Что делает Javascript do (| =, & = и ~)?

mode |= MyEnum.ROTATE; 
mode &= ~MyEnum.RESHAPE; 

Update:

Многие из ответов просто сказал, что их побитовое это и побитовое то, что не помогло, так как я не знаю, что имел в виду побитовое. Here's a good intro.

+0

Почему пустые голоса? Почему кто-то хочет закрыть это? Этот вопрос непонятен? – capdragon

ответ

2

Это побитовые операции.

mode |= MyEnum.ROTATE 

такое же, как

mode = mode | MyEnum.ROTATE 

или другими словами мы добавили ПОВОРОТ в режим.

secone пример удаляет RESHAPE из режима

mode является битовая маска

-1
mode |= MyEnum.ROTATE; is like ---> mode = mode | MyEnum.ROTATE 
mode &= ~MyEnum.RESHAPE; is like ---> mode = mode & ~MyEnum.ROTATE; 
+0

Это неверно, они являются побитовыми операторами, а не логическими операторами. – jzworkman

+0

«это как ---> mode & MyEnum.ROTATE». Я думаю, что в аренде отсутствуют аспекты, отсутствующие здесь. –

+0

@NiklasB. : Я потерял что-то на вырезании и вставке ... Ясно, что я хочу сказать, что. – DonCallisto

2

Эти битовые операторы:

|= является побитовое или, что то же самое, как mode = mode | MyEnum.ROTATE

&= является побитовое и, что то же самое, что и mode = mode & MyEnum.ROTATE

~ является побитовое не

+0

Спасибо, но я должен отдать его другому парню за то, что он первый, и объяснил это «другими словами». (+1) для усилий. – capdragon

2

Те Битовые операторы:

mode |= MyEnum.ROTATE; 

является

mode = mode | MyEnum.ROTATE; 

и

mode &= ~MyEnum.RESHAPE; 

является

mode = mode & ~MyEnum.RESHAPE; 

| является побитовое или, & является побитовое и, ~ является побитовое не.