JavaScript函数未成功调用

时间:2019-02-18 17:07:55

标签: javascript function

目前的想法是只显示“ hello world!”检查按钮是否正确调用了该函数。我尝试从以前的有效代码中复制粘贴,检查括号,方括号以及任何可能破坏函数调用的内容。 而“ hello world”之后什么也没有!是回答这个问题所必需的,如果您对下面的其余代码提出了建议,我将不胜感激。这里的想法是接受用户输入,并根据字符串长度给出不同的结果。

function persona() {
  document.write("hello world!");
  var name, inputstr, sum = 0;
  name = document.getElementById("input").value;
  inputstr = name.length;
  while (inputstr / 10 >= 1) {
    if (inputstr = 11 || inputstr = 22) {
      break;
    }
    sum += inputstr % 10;
    inputstr = Math.floor(inputstr / 10);
    if (inputstr = 11 || inputstr = 22) {
      break;
    }
  }
  switch (inputstr) {
    case 1:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 2:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 3:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 4:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 5:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 6:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 7:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 8:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 9:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 11:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 22:
      document.getElementById("results").innerHTML = "...";
      break;;
  }
}
body {
  background-color: #a89b28;
  color: #f0f1f6;
  font-family: impact;
  text-align: center;
}
<!DOCTYPE html>
<html>
<title>Number Personality Calculator</title>

<head>
  <meta name="description" content="Input your name, and predict your personality type" />
  <meta name="keywords" content="JavaScript, JS, numerology, personality" />
  <meta name="author" content="[REDACTED], 18/02/2018" />
  <meta charset="UTF-8">
</head>

<body>
  <h1>PERSONALITY TYPE CHECKER</h1>
  <p id="results">""</p>
  <input type="text" id="input" placeholder="Juan Dela Cruz"><br>
  <button onclick="persona()">Get your personality</button>
</body>

</html>

3 个答案:

答案 0 :(得分:1)

如果您只是想用其代码修复错误,因为您在if语句中使用赋值运算符而不是比较运算符。

inputstr == x更改为<!DOCTYPE html> <html> <title>Number Personality Calculator</title> <head> <meta name="description" content="Input your name, and predict your personality type" /> <meta name="keywords" content="JavaScript, JS, numerology, personality" /> <meta name="author" content="[REDACTED], 18/02/2018" /> <meta charset="UTF-8"> <style> body { background-color: #a89b28; color: #f0f1f6; font-family: impact; text-align: center; } </style> </head> <body> <h1>PERSONALITY TYPE CHECKER</h1> <p id="results">""</p> <input type="text" id="input" placeholder="Juan Dela Cruz"></br> <button onclick="persona()">Get your personality</button> <script> function persona() { document.write("hello world!"); var name, inputstr, sum = 0; name = document.getElementById("input").value; inputstr = name.length; while (inputstr / 10 >= 1) { if (inputstr == 11 || inputstr == 22) { break; } sum += inputstr % 10; inputstr = Math.floor(inputstr / 10); if (inputstr == 11 || inputstr == 22) { break; } } switch (inputstr) { case 1: document.getElementById("results").innerHTML = "..."; break;; case 2: document.getElementById("results").innerHTML = "..."; break;; case 3: document.getElementById("results").innerHTML = "..."; break;; case 4: document.getElementById("results").innerHTML = "..."; break;; case 5: document.getElementById("results").innerHTML = "..."; break;; case 6: document.getElementById("results").innerHTML = "..."; break;; case 7: document.getElementById("results").innerHTML = "..."; break;; case 8: document.getElementById("results").innerHTML = "..."; break;; case 9: document.getElementById("results").innerHTML = "..."; break;; case 11: document.getElementById("results").innerHTML = "..."; break;; case 22: document.getElementById("results").innerHTML = "..."; break;; } } </script> </body> </html>

filenames = tf.constant(["/var/data/image1.jpg", "/var/data/image2.jpg", ...])
labels = tf.constant([0, 37, ...])
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
dataset.shuffle()

def _parse_function(filename, label):
  image_string = tf.read_file(filename)
  image_decoded = tf.image.decode_jpeg(image_string)
  image_resized = tf.image.resize_images(image_decoded, [28, 28])
  return image_resized, label

dataset = dataset.map(_parse_function)
iterator = dataset.make_one_shot_iterator()
X, Y = iterator.get_next()

sess = tf.Session()
sess.run(iterator.initializer)
while True:
  sess.run(X) #Here I want the element from filenames being used for X

答案 1 :(得分:0)

我不知道您的HTML标记对我来说是什么样子, console.log alert()被证明是“ Hello World”测试功能是否正常的保护程序方式。

也许尝试以防万一该函数实际上已被调用,但是还有其他事情与其余代码不兼容...

答案 2 :(得分:0)

在第8行和第14行(在我的摘录中),如果if语句中有单等号。这是一个非常简单的错误,可能会使您的整个代码失效。

调试是非常有价值的工具。总是在调试时使用alert()console.log()而不是document.write()。就我个人而言,我调试的方式是慢慢地逐行删除行,看看哪一行会导致错误。这样既缓慢又乏味,但是万无一失。我很快就发现了你的错误。

=旨在为变量分配值。 ==用于比较2个值。如果您尝试在if语句内使用=,它将完全破坏您的代码(您不应在if语句内分配任何内容。只能进行比较)。

function persona() {
  alert("hello world!");
  var name, inputstr, sum = 0;
  name = document.getElementById("input").value;
  inputstr = name.length;
  while (inputstr / 10 >= 1) {
    //You had single equals below. Should be double
    if (inputstr == 11 || inputstr == 22) {
      break;
    }
    sum += inputstr % 10;
    inputstr = Math.floor(inputstr / 10);
    //You had single equals below. Should be double
    if (inputstr == 11 || inputstr == 22) {
      break;
    }
  }
  switch (inputstr) {
    case 1:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 2:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 3:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 4:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 5:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 6:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 7:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 8:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 9:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 11:
      document.getElementById("results").innerHTML = "...";
      break;;
    case 22:
      document.getElementById("results").innerHTML = "...";
      break;;
  }
}
body {
  background-color: #a89b28;
  color: #f0f1f6;
  font-family: impact;
  text-align: center;
}
<!DOCTYPE html>
<html>
<title>Number Personality Calculator</title>

<head>
  <meta name="description" content="Input your name, and predict your personality type" />
  <meta name="keywords" content="JavaScript, JS, numerology, personality" />
  <meta name="author" content="[REDACTED], 18/02/2018" />
  <meta charset="UTF-8">
</head>

<body>
  <h1>PERSONALITY TYPE CHECKER</h1>
  <p id="results">""</p>
  <input type="text" id="input" placeholder="Juan Dela Cruz"><br>
  <button onclick="persona()">Get your personality</button>
</body>

</html>