0

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

我将不胜感激有关如何解决它的任何帮助

4

2 回答 2

3

该词new是 JavaScript 中的保留字,不能用作变量的名称。

该错误意味着解析器期望一个“标识符”,也就是说它期望看到一个有效的标识符。

更改变量的名称,事情应该会有所改善。在您发布的代码中,我认为存在{ }嵌套问题;return在函数的之前似乎有一个太多。

编辑——也正如 jbabey 在评论中指出的那样,你的setInterval()电话应该是

setInterval(update, 1000);

setInterval()尽管有成千上万个发霉的旧教学网站的建议,但通常将字符串传递给 并不是一个好主意。

于 2012-08-30T12:42:31.830 回答
1

单词“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

于 2012-08-30T12:47:02.390 回答