LINUX.ORG.RU

javascript странное поведение.

 ,


0

1

Только что столкнулся с необычным (на мой взгляд) поведением. Вот такой код (просто вставил лишний + при переносе строки на две строки в редакторе) :

alert( "атас " + + " !!!" );
показывает «атас NaN» в chrome и ie. Как это объясняется?

★★
Ответ на: комментарий от reprimand

Кстати, ++ тут не при чем.

The unary plus operator precedes its operand and evaluates to its operand but attempts to converts it into a number, if it isn't already. Although unary negation (-) also can convert non-numbers, unary plus is the fastest and preferred way of converting something into a number, because it does not perform any other operations on the number. It can convert string representations of integers and floats, as well as the non-string values true, false, and null. Integers in both decimal and hexadecimal («0x»-prefixed) formats are supported. Negative numbers are supported (though not for hex). If it cannot parse a particular value, it will evaluate to NaN.

GreenBag ★★
()
Ответ на: комментарий от GreenBag

Кстати, ++ тут не при чем

Понятно, восклицательные знаки просто привелись к числу NaN с помощью унарного плюса.

mio ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.