javascript定时函数-预期的标识符

javascript timed function - expected identifier

本文关键字:标识符 定时 函数 javascript      更新时间:2023-09-26

我遇到了一个简单脚本的问题,该脚本应该用一些值(用户输入)更新页面,这些值从每月转为每年(数字进入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