Сообщение от T-sh
			 
		
	 | 
	
		потому, что строка s формируется до того, как name принимает значение "незнакомец". 
 
var name = prompt("Введите ваше имя","");
 if (!name) {name="незнакомец"; }
 var s = "<h1>Привет, "+name+"!</h1>";
 document.write(s);
	 | 
	
Спасибо! вроде понятно.
Ещё скажите пожалуйста мой вопрос в книгах по JS под какую тему подпадает
?? Чтоб более обширно почитать об этом и в будущем не делать таких ошибок.