Помогите новичку, пожалуйста
Здравствуйте! Есть 2 скрипта. Вот первый:
<script> var a; alert(a + 1); var y = 1; var x = y = typeof x; alert(x + 1); </script> Не понимаю почему выводит undefined1, мне кажется должно выводить NaN второй раз. Вот второй: <script> alert([] + false - null + true); </script> Результат NaN. Почему? Здесь не понимаю что означает пустой массив при его приведении к типу Number, или т.к. стоит "+" может он рассценивается как строка. Не знаю подскажите. |
var y = 1; // y === 1 var x = y = typeof x; // x = 'undefined', y = 'undefined' alert(x + 1); // 'undefined' + 1 == 'undefined1' ибо typeof x - строка. alert([] + false - null + true); Результатом будет: "" + false = "false" "false" - null = +"false" - +null NaN - 0 = NaN NaN + true = NaN Оператор вычитания пытается преобразовать к числу. (как я понял). alert("5" - "1"); p.s ответы могут быть не точны. |
Часовой пояс GMT +3, время: 16:16. |