2011-04-19 76 views
20
var nodeWordsString = document.getElementById("nodeWordsTextArea").value.trim(); 
    var nodeWordsStringArray=nodeWordsString.split(" "); 
    var strLength = nodeWordsStringArray.length; 
    for(int i = 0; i < nodeWordsStringArray.length; i++)----->****** 
    { 
     for(int j = 0; j < nodeWordsStringArray.length; j++) 
     { 
      if(nodeWordsStringArray(i) == nodeWordsStringArray(j)) 
      { 
       alert("Node duplication occurred at:"+nodeWordsStringArray(i)); 
       return false; 
       //break; 
      } 
     } 
    } 

* *在java脚本控制台(firebug)中显示错误,如missing ; after for-loop initializer。 请帮助我。失踪;在for循环初始化器后

回答

58

这是,但是您在循环声明中使用了int?请尝试用var代替它们。

+11

我是怎么完全读过这些的? – Raynos 2011-04-19 14:37:01

+0

@Raynos:会问你一样的。 ;-) – 2011-04-19 14:37:30

+4

@vissu pepala:别担心,每个人都会在这里帮助,而不必通过判断。我知道我已经进行了许多夜晚的编码,并在第二天早上做了一个面部手掌,以前一晚我看不到的一些愚蠢的错误。 ;-) – 2011-04-19 14:46:43

4

更改int iint jvar ivar j

1
var strLength = nodeWordsStringArray.length; 
for(int i = 0; i < nodeWordsStringArray.length; i++) 

您可以使用for (int i = 0; i < strLength; i++)它更有效率。至于你的实际错误尝试移动你的括号到你的行结束。 for(..;..;..) {

P.S.如上所述,没有int

3

如果您在2016年,也许您正试图在尚未支持它的浏览器中使用严格模式外的let声明。将其替换为var或将'use strict;'添加到函数的顶部。