Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает вывод значений с операторами *; a + b; +a (https://javascript.ru/forum/misc/65243-ne-rabotaet-vyvod-znachenijj-s-operatorami-%2A%3B-b%3B.html)

Bruha1991 06.10.2016 22:07

Не работает вывод значений с операторами *; a + b; +a
 
Здравствуйте! Я новичок в изучении JavaScript. ОС - windows 7, Браузер - Опера (последняя), текстовый редактор Sublime Text. Я попытался попрактиковаться с операторами, но браузер ничего не выводит. Объясните почему. У меня 2 файла в одной директории WebSite_2 - это script.js:
var i = 2 * 2; //4
alert(i);
var j = 2 * 'abc'; //NaN
alert(j);
var k = 'k' + '3abc'; //k3abc
alert (k);
var s = +'abc' + '3'; //NaN
alert(s);


index.html:
<!DOCTYPE html>
<html>
	<head>
		<script src="script.js"></script>
	</head>
	<body>

	</body>
</html>

Помогите пожалуйста понять где ошибка

Aetae 06.10.2016 22:22

Ошибки нет.

рони 06.10.2016 22:23

Bruha1991,
всё должно работать http://plnkr.co/edit/RYXSD3GtnAi2CqINZ1x0?p=preview

только в последнем случае не //NaN , а //NaN3

Bruha1991 06.10.2016 22:48

Уважаемый
рони,
почему в конце NaN3 никак не могу понять логику, бился 30 минут )).

рони 06.10.2016 22:53

Bruha1991,
+'abc' безуспешная попытка преобразования в число NaN, NaN + строка '3' -- обе части превращаются в строки и происходит коннектация (соединение строк) "NaN3"

Aetae 06.10.2016 22:58

... но вообще с пониманием автоматического преобразования типов заморачиваться не стоит. Лучше в каждом конкретном случае явно приводить к нужному и не забивать голову. Потому что сколько языков - столько "мнений" и javascript тут далеко не самый удачный вариант.


Часовой пояс GMT +3, время: 07:24.