Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2016, 18:54
Интересующийся
Отправить личное сообщение для Bruha1991 Посмотреть профиль Найти все сообщения от Bruha1991
 
Регистрация: 17.01.2016
Сообщений: 10

Помогите новичку, пожалуйста
Здравствуйте! Есть 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, или т.к. стоит "+" может он рассценивается как строка. Не знаю подскажите.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2016, 19:11
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

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 ответы могут быть не точны.

Последний раз редактировалось Lemme, 27.01.2016 в 19:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите новичку! Анатолий Саратовцев Events/DOM/Window 7 04.08.2012 17:46
Помогите пожалуйста новичку! hrupin jQuery 7 14.03.2012 18:49
Помогите пожалуйста новичку... knyazsergei Общие вопросы Javascript 2 16.06.2010 23:30
Помогите пожалуйста новичку. deepslam jQuery 15 26.07.2009 02:21