javascript timed函数 - 期望的标识符

时间:2012-08-30 12:41:11

标签: javascript

我遇到一个简单脚本的问题,该脚本应该更新一个页面,其中包含一些从月到年转换的值(用户输入)(数字进入由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;

我会很感激如何解决它

2 个答案:

答案 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