我遇到一个简单脚本的问题,该脚本应该更新一个页面,其中包含一些从月到年转换的值(用户输入)(数字进入由confirmIT创建的数字字段)
<script>
function update() {
for (var i = 0; i < 9; i++) {
var ans = parseInt(document.getElementById("bq10a_" + i).value, 10);
if (!isNaN(ans)) {
var new = ans * 12;
document.getElementById("bq10a_" + i + "calc").value = new;
}
}
}
return;
}
setInterval("update()", 1000);
</script>
这会在行
上产生预期的标识符错误var new = ans*12;
我会很感激如何解决它
答案 0 :(得分:3)
单词new
是JavaScript中的保留字,不能用作变量的名称。
错误意味着解析器需要一个&#34;标识符&#34;,也就是说它希望看到有效的标识符。
更改变量的名称,事情应该改进。在您发布的代码中,我认为存在{ }
嵌套问题;在函数return
之前似乎有太多。
编辑 - 正如jbabey在评论中指出的那样,setInterval()
来电应该是
setInterval(update, 1000);
通常情况下,将字符串传递给setInterval()
并不是一个好主意,尽管有数千个发霉的旧教学网站的建议。
答案 1 :(得分:1)
Word“new” - 在javascript语言中很特别:
行不正确:
var new = ans*12;
试试这个:
var newvalue = ans*12;
更多信息:
http://javascript.about.com/library/blreserved.htm
http://www.ecma-international.org/publications/standards/Ecma-262.htm