我不明白这个代码来自javascript

时间:2014-11-07 18:34:51

标签: javascript

我是JavaScript的新手,我想知道这意味着什么是简单的英语。

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>

<p id="message"></p>

<script>
function myFunction() {
  ***  var message, x; ***
  ***  message = document.getElementById("message"); ***
  ***  message.innerHTML = ""; ***
    x = document.getElementById("demo").value;
    try { 
        if(x == "")  throw "is Empty";
        if(isNaN(x)) throw "not a number";
        if(x > 10)   throw "too high";
        if(x < 5)    throw "too low";
    }
    catch(err) {
        message.innerHTML = "Input " + err;
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
</script>

</body>
</html>

我不明白***之间的部分。他们为什么要发布消息并将其置于消息传递中?请帮助并定义一个非常知道的人不会理解的任何编程词。

比你非常多。

4 个答案:

答案 0 :(得分:2)

var message, x;

声明两个当前未定义的变量messagex

message = document.getElementById("message");

现在我们将具有id“message”的DOM节点分配给变量message

message.innerHTML = "";

我们现在清空可能在DOM容器内的任何东西。

答案 1 :(得分:1)

以下是逐行细分:

function myFunction() {
  // declare variables message and x with no value or type
  var message, x;

  // set message to the DOM element with the id of "message"
  message = document.getElementById("message");

  // set the inner HTML (the content inside the div) of message to be an empty string
  message.innerHTML = "";

  // set x to be the value of the DOM element with the id of "demo"  
  x = document.getElementById("demo").value;

  // try some cases
  try { 
      // if the x's value is an empty string, return a descriptive string
      if(x == "")  throw "is Empty";
      // if the x's value is a not a number, return a descriptive string
      if(isNaN(x)) throw "not a number";
      // if the x's value is greater than 10, return a descriptive string
      if(x > 10)   throw "too high";
      // if the x's value is less than 5, return a descriptive string
      if(x < 5)    throw "too low";
  }
  // catch an error if none of the cases match
  catch(err) {
      // display an error message in the message DOM element
      message.innerHTML = "Input " + err;
  }
  // finally clause executes after try and catch execute, but before the statements following the try statement
  finally {
      // set the value of the demo DOM element to be an empty string
      document.getElementById("demo").value = "";
  }
}

答案 2 :(得分:0)

var message, x; 

这声明变量messagex将在此范围内使用。也就是说,我们希望函数message中的变量xmyFunction(),而不是可能在其外部定义的变量messagex。< / p>

message = document.getElementById("message");

变量message将包含页面上id为message的实际元素。从这里开始,我们可以调用方法并在变量message上设置属性,因为它是页面本身的元素。

message.innerHTML = "";

这是清空message内容的方法。基本上把它设置为空。在代码中,如果出现错误,可以添加消息。写这个的人决定先清除任何先前的错误信息,这样如果这个功能成功,就不会显示错误信息。

答案 3 :(得分:0)

function myFunction() {
  // I am going to use the variables message and x in function
  // but they don´t have a value yet
  var message, x; 
  // assign message to be the element with id="message"
  message = document.getElementById("message");
  // remove all text from message
  message.innerHTML = "";