2011-04-19 30 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;'添加到函數的頂部。