мой друг спросил меня, почему этот код не работает должным образом, отменив приглашение.Почему приглашение возвращает иногда null как строку
<script type="text/javascript">
var name = prompt("Enter your name:", "");
if (!name) {
name = "unknown";
}
var ans =("<h2>" + "Hello, "+ name + "!"+"</h2>");
document.write(ans);
</script>
Вот jsfidle https://jsfiddle.net/085svr3u/
я узнал, что в приведенном выше примере propmt возвращает "нуль", то есть. null как строка путем отмены. И я понятия не имею, почему.
Я попытался сыграть с оригинальным кодом и немного переработал его. Теперь он работает так, как ожидалось. Но у меня все еще нет объяснений.
<script type="text/javascript">
function test() {
var name = prompt("Enter your name:", "");
if (!name) {
name = "unknown";
}
var ans =("<h2>" + "Hello, "+ name + "!"+"</h2>");
document.write(ans);
}
test();
</script>
А вот модифицируется версии https://jsfiddle.net/085svr3u/1/
Спасибо заранее.
Слово _sometimes_ не имеет смысла в программировании ИМО .. Либо оно делает, либо нет. Причина «null» может быть введен пользователем «null» в качестве ввода в 'prompt' – Rayon
@SLaks вопрос в том, почему 'null' становится строкой. – nicael
Вы дважды вставили один и тот же код. Думаю, первое должно было быть без этого утверждения 'if'? – nicael