воскресенье, 13 февраля 2011 г.

Javascript инверсия переменных

Довольно часто нужно сделать инверсию какой либо переменной. Например 0 в 1, true в false и так далее. Для этого мы ставим оператор ! и успешно двигаемся дальше. Но вернемся к спецификации
!a Логическое NOT Унарная операция. Возвращает true, если операнд ложен.
Это значит, что на инверсию нуля мы получаем true.
a=0
alert(!a) // true
В принципе ничего страшного скажете вы, но при следующих математических действиях с переменной true не может обрабатываться корректно.