#javascript #string #syntax-error
#javascript #строка #синтаксическая ошибка
Вопрос:
Я изучаю css js html rn и при создании простого скрипта всплывающего сообщения я начал получать неожиданную ошибку строки в следующем скрипте:
function myFunction() {
var xbg = prompt("Please enter your name!", "Henry Phillips");
if (person === null || person == "")
{
txt= "Enter your name in the field.";
} else {
txt "Hello" xbg "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}
Как говорит консоль, ошибка строки конкретно находится здесь:
строка
Комментарии:
1. Здесь отсутствует
=
символ:txt = "Hello" xbg "! How are you today?"
2. Похоже, вы забыли символ equals в части else
3. Вам не хватает
=
знака.4. Действительно, неожиданно…
5. Ошибка исчезла, но по какой-то причине всплывающее сообщение не отображается: L
Ответ №1:
В вашем скрипте есть некоторые ошибки.
Сначала вы забываете =
в сообщении else.
txt = "Hello " xbg "! How are you today?"
----^
Если условие не проверяет правильное имя переменной, вы можете заменить person на xbg.
if (xbg === null || xbg == "")
// or shorter
if (xbg amp;amp; xbg.trim())
И, наконец, вы не вызываете свой скрипт в другой раз, если пользователь не вводит это имя. Вы можете использовать setTimeout
, чтобы дать пользователю некоторое время для чтения сообщения, прежде чем открывать приглашение в другой раз.
setTimeout(myFunction, 500);
Смотрите полный исправленный код ниже
function myFunction() {
var xbg = prompt("Please enter your name!", "");
if (xbg === null || xbg == "")
{
txt = "Enter your name in the field.";
setTimeout(myFunction, 500);
} else {
txt= "Hello " xbg "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}
myFunction();
<span id="demo"></span>
Комментарии:
1. Но в этом op есть 3 ошибки, это не просто ответ на опечатку. Спасибо за эту информацию!
2. В скрипте нет ошибок, которые было бы нелегко устранить с минимальными усилиями, например, нажав F12 и заглянув в консоль. Так что этот вопрос действительно не стоит оставлять для будущих посетителей. Ваш ответ — один из немногих ответов, в котором также рассматривается логическая ошибка — также эта логическая ошибка является очень простой ошибкой новичка, которую можно было бы объяснить в комментариях, чтобы OP мог удалить вопрос
Ответ №2:
function myFunction() {
var person = prompt("Please enter your name!", "Put Your Name");
if (person.trim()) {
txt = "Hello, " person "! How are you today?"
} else {
txt = "Enter your name in the field.";
}
document.getElementById("demo").innerHTML = txt;
}
myFunction();
<div id="demo"></div>
Вы можете найти отредактированный скрипт здесь.
Комментарии:
1. Ранее это было по-другому, я отредактировал, но предыдущее тоже работало.
Ответ №3:
итак, в основном у вас здесь опечатка: измените person с помощью xbg
function myFunction() {
var xbg = prompt("Please enter your name!", "Henry Phillips");
if (xbg === null || xbg == "")
{
txt= "Enter your name in the field.";
} else {
txt ="Hello" xbg "! How are you today?"
}
document.getElementById("demo").innerHTML = txt;
}