Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите найти ошибку (https://javascript.ru/forum/misc/68010-pomogite-najjti-oshibku.html)

MixX 20.03.2017 20:11

Помогите найти ошибку
 
Помогите решить. При нажатии на "Отмена", должно закрываться окно prompt, а оно не закрывается. Что тут не так?


var num = +prompt ("Введите число больше 100"); 
	
	while (num < 100) {
	
	if (num == null) break; 
	
	var num = +prompt ("Введите число больше 100");
	
	}

рони 20.03.2017 20:42

MixX,
var зачем в строке 7?

MixX 20.03.2017 20:49

не заметил, просто скопировал. Но причина не в этом же

рони 20.03.2017 21:00

MixX,
причина в том что математическая операция не может быть null.
плюс из первой строки перенесите в третью, чтобы сохранить null.

рони 20.03.2017 21:16

var num = prompt ("Введите число больше 100");

  while (+num < 100) {

  if (num == null) break;

  num = prompt ("Введите число больше 100");

  }

MixX 20.03.2017 21:29

1. Вы можете объяснить почему так? Ведь переменная num одна и та же, что в первой, что в третей и обе идут до null

2. Можно ли как то улучшить/упростить этот код, чтоб не возникало таких проблем. Ведь без плюса тут тоже не обойтись мне кажется

рони 20.03.2017 22:04

MixX,
смотрите сообщения №4 и №5 -- добавить нечего


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