我遇到了一个简单脚本的问题,该脚本应该用一些值(用户输入)更新页面,这些值从每月转为每年(数字进入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;
如果您能帮我解决这个问题,我将不胜感激。
单词new
是JavaScript中的保留单词,不能用作变量的名称。
该错误意味着解析器需要一个"标识符",也就是说它需要看到一个有效的标识符。
更改变量的名称,情况就会有所改善。在您发布的代码中,我认为存在{ }
嵌套问题;在函数的CCD_ 3之前似乎有一个过多。
编辑—正如jbabey在评论中所指出的,您的setInterval()
调用应该是
setInterval(update, 1000);
尽管有成千上万发霉的旧教学网站的建议,但一般来说,将字符串传递给setInterval()
不是一个好主意。
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