JSLint在第2行(带有for循环)的代码中给出了“意外'。'”错误,此时它也停止扫描文件。
var form = document.form1;
for (var i=0; i < form.elements.length; i++) {
// inner-loop code not included here
}
我在Chrome中检查了Developer Console,而form.elements确实包含了我所期望的内容。为什么JSLint会给我这个错误?
我正在通过PhpStorm使用JSLint。
答案 0 :(得分:1)
我无法在JSLint中重现您的问题。但是,由于JS没有块作用域而不是函数作用域,因此JSLint(Doug Crockford)建议在函数顶部发生所有变量声明。
他还建议不要使用++
运算符,而是使用+= 1
。在JSLint中尝试以下代码,并确保“假设浏览器”设置为true
function foo() {
'use strict';
var form = document.form1,
i;
for (i = 0; i < form.elements.length; i += 1) {
window.console.log(i);
}
}
答案 1 :(得分:1)
我们需要更多信息才能真正回答这个问题。 HTML和所有的JS。如果在问题正文中发帖太长,您可以尝试在http://jsfiddle.net/
等服务中托管它如果无法重现它,我会猜测document.form1
不是你想要的。也许你的意思是document.forms
。这样就可以访问DOM中的所有表单作为htmlCollection,您可以像数组一样访问它。例如document.forms[1]
。阅读更多https://developer.mozilla.org/en-US/docs/Web/API/document.forms