意外标记(用于javascript)
我想在javascript中写一个算法,我确信我写的是真的。该算法给出了用户的一个数字,并给出了结果:1+3+5+…+(2n+1),而“n”是var。 javascript给了我错误:未定义calc(),意外标记意外标记(用于javascript),javascript,for-loop,token,Javascript,For Loop,Token,我想在javascript中写一个算法,我确信我写的是真的。该算法给出了用户的一个数字,并给出了结果:1+3+5+…+(2n+1),而“n”是var。 javascript给了我错误:未定义calc(),意外标记 <html> <head> <title>Algorithm</title> <script type="text/javascript"> function calc(){
<html>
<head>
<title>Algorithm</title>
<script type="text/javascript">
function calc(){
var n = document.getElementById('value').value;
var sum = 0, i = 1, k = 0;
for(k=0,k<n,k++){
sum = sum += i;
i+=2;
k++;
}
document.getElementById('answer').innerHTML = sum;
}
</script>
</head>
<body>
<input type="text" id="value" placeholder="Enter your number"/>
<button onclick="calc()">OK</button><br/>
<h1 id="answer"></h1>
</body>
算法
函数计算(){
var n=document.getElementById('value').value;
var总和=0,i=1,k=0;
for(k=0,kfor()语句需要分号(;
)而不是逗号(,
)
(var k=0;k
“jshint”工具在捕获javascript中的错误方面非常有帮助。它的web版本在
for(k=0,k上。问题是你的for
循环语法。你需要使用分号;
来分隔语句:
for( k = 0; k < n; k++ ){
...
}
(k=0;k{
...
}
摘自:
创建一个循环,该循环由三个可选表达式组成,用括号括起来,并用分号分隔,后跟在循环中执行的语句
JavaScript引擎无法解析for循环,然后它遇到了循环的右括号(它没有预料到,因为它仍在尝试解析循环的条件)。这是因为您应该在
for
语法中使用;
而不是,
for(k=0;k<n;k++){...}
for(k=0;k您的for
语句使用的是逗号,而不是分号。
将其更改为使用;
for(k=0,k<n,k++){
sum = sum += i;
i+=2;
k++;
}
for(k=0,k)此行sum=sum+=i;
在for
循环头的中看起来很可疑,您应该使用;
而不是,
:for(k=0;k)可能重复
for(k=0,k<n,k++){
sum = sum += i;
i+=2;
k++;
}