【问题标题】:I'm trying to make a question prompt, but It wont load in the prompt due to syntax error我正在尝试提出问题提示,但由于语法错误,它不会在提示中加载
【发布时间】:2021-12-28 19:02:52
【问题描述】:

我正在尝试在回答第一个提示时发出警报,有人可以帮忙吗?

var answer = "Griffin"
var answer2 = "griffin"

if(prompt("What's your name?"))
{
    if(answer === ("Griffin"))
    {
        var callback = function() {
            alert("Oh hi! " + answer)
    }
    }
} else {
    if(answer2 === ("griffin"))
  {
    setTimeout(callback, 1000);
   } else {
            alert("Then whats your name if it's not Griffin?")
  }
}

【问题讨论】:

  • 您好,我认为您的意思是 === 而不是 =,您可以使用 w3schools.com/jsref/met_win_prompt.asp 查看文档并实时测试代码。
  • 语法错误是因为; inif (answer2 = ("griffin"));
  • if 语句中有 ;
  • 删除if条件中的分号
  • =也有问题,但不是语法错误。

标签: javascript prompt


【解决方案1】:

删除 if 语句中的分号并使用比较运算符(==)而不是 if 语句中的分配运算符(=)

这是更新的代码

 var answer = 'Griffin';
var answer2 = 'griffin';

if (prompt("What's your name?")) {
  if ((answer == 'Griffin')) {
    var callback = function () {
      alert('Oh hi! ' + answer);
    };
  }
} else {
  if ((answer2 == 'griffin')) {
    setTimeout(callback, 1000);
  } else {
    alert("Then whats your name if it's not Griffin?");
  }
}

【讨论】:

  • 你还需要把=改成===
【解决方案2】:

用三等号替换 if 块中的单等号。在这种情况下,您分配值而不是检查它,并在执行块之前删除第一个 if 中的分号;

后期编辑: 你的问题不是很清楚,所以我尝试以某种方式相应地更新答案。

var userAnswer = prompt("What's your name?"); // keep a reference to what user types in

switch (userAnswer) {
  case 'Griffin':
    // do something, alert, etc
    alert("Oh hi! " + userAnswer);
    break;
  case 'griffin':
    // do something else
    alert("Oh hi! griffin");
    break;
  default:
    // if none of the above cases are matched
    alert("Then what's your name if it's not Griffin?");
    break;
}

【讨论】:

  • 天哪,谢谢!!
  • 如果答案解决了您的问题,请随时将问题标记为已解决
【解决方案3】:
var answer = "Griffin"
var answer2 = "griffin"

var verify = prompt("What's your name?")

if (verify == answer) {
  callback()
}
else if
    (verify == answer2) {
    alert("Oh hi! " + answer2)
}
else {
    alert("Then whats your name if it's not Griffin?")
}

function callback(){
    alert("Oh hi! " + answer)
}

【讨论】:

  • 另一种方式.....希望对你有所帮助
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案4】:
    var answer = "Griffin"
    var answer2 = "griffin"
//here  we need variable ,it will hold the prompt input.. 
    var promptInput = prompt("what is your name?")

    if (promptInput == "Griffin") {
            var callback = function call() {
            alert("Oh hi! " + answer)
        }
        callback();//if it is "Griffin" it is going to call the function which is callback()
    }
    else if (promptInput == "griffin") {
        setTimeout(callback, 1000);
    }
    else {
        alert("Then whats your name if it's not Griffin?")
         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    相关资源
    最近更新 更多