If-else语句可在函数内运行,但不能独立运行

时间:2019-10-27 15:15:49

标签: javascript

我正在研究一些教程,我想识别用户的响应,确定,取消和用户在hint()方法中输入的文本。

我正在使用以下代码。当在函数内部使用时,即当用户在不输入文本的情况下按ok或当用户在输入或不输入文本的情况下按“取消”时,它就会识别动作并提供适当的输出。

但是,当我在函数外使用同一段代码时,else语句不会被触发。一直试图了解原因,但无法弄清楚。请帮忙。

<button id="test">Test</button>

<script>

// This code works

document.getElementById("test").addEventListener("click", function() {    
  var name = prompt("Enter your name:");
    if (name) {
      alert("user entered the text " + name);
    } else if (name === "") {
      alert("user pressed ok, without entering the text " + name)
    } else {
      alert("user pressed cancle " + name);
    }
});
/* ---- */

// This code gives an error stated above 

  var name = prompt("Enter your name:");
    if (name) {
      alert("user entered the text " + name);
    } else if (name === "") {
      alert("user pressed ok, without entering the text " + name)
    } else {
      alert("user pressed cancle " + name);
    }

0 个答案:

没有答案