我有一些返回一个的代码Uncaught SyntaxError
当我运行它但我不明白为什么。
我尝试将其通过 JSHint 但无济于事。
这是明显错误的代码:
function compute(expr, x, string) {
var whatisx = "x=" + toString(x) + ",";
var tempAns = parseFloat(eval(whatisx + expr));
var roundedAnswer = roundNumber(tempAns, 3);
if (isNaN(tempAns) === true) {
alert("error");
}
if (string) {
return toString(roundedAnswer);
} else if (!string) {
return roundedAnswer;
} else {
return null;
console.log("Error trying to compute value. The string value must be boolean.");
}
}
当我运行它时,我没有收到任何控制台日志,并且显示加号登录时出现错误:
var tempAns = parseFloat(eval(whatisx + expr));
同一程序中的另一个问题(也是语法错误)出现在我的 HTML 中。
这是我的html:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Grapher</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.js" charset="utf-8"></script>
<script type="text/javascript" src="functions.js" charset="utf-8"></script>
<script type="text/javascript" src="sketch.js" charset="utf-8"></script>
</head>
<body>
<form>
<label>Graph y=</label>
<input id="mathExpr" type="text" name="mathExpr" value="">
<label> from x=</label>
<input id="x_min" type="text" name="x_min" value="">
<label> to </label>
<input id="x_max" type="text" name="x_max" value="">
<input type="button" name="result" value="Result" onclick="compute(); runp5();">
</form>
<h2>Answer: <span id="output"></span></h2>
</body>
</html>
对于这个,它说有一个错误
<input type="button" name="result" value="Result" onclick="compute(); runp5();">
我能做些什么来解决这两个问题?
提前致谢。
Edit:问题解决了。我正在调用不带任何参数的compute。 (感谢@Pointy)
刚才我回到这个问题,我意识到我又犯了一个错误。这是我的修复:
-
正如用户 Pointy 注意到的那样,我正在打电话compute()
没有其所需的参数。
-
我应该添加console.log()
in my else
之前的声明return
否则根本不会被调用:
// ...
else {
console.log('message'); // this should come before return
return null;
}
这实际上并没有解决我详细描述的问题,但我想向未来的读者指出这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)