2011-05-15 57 views
1

我有一個問題,使用Javascript創建一個for-loop。看起來對我而言,每個人都很好,但我仍然沒有得到我想要的。使用Javascript創建一個for-loop?

看看請回覆此代碼來了解更多:

  • HTML表單代碼:

    <form name="myform"> 
        <textarea name="inputtext" cols="100%" rows="10%"></textarea><br /> 
        <input type="radio" name="options" value="javascript" checked> Option1 <br /> 
        <input type="radio" name="options" value="windows"> Option2<br /> 
        <input type="button" value="Do it" onClick="generate();"><br /> 
        <textarea name="outputtext" cols="100%" rows="10%"></textarea><br /> 
    </form> 
    
  • 的JavaScript代碼:

    function generate() { 
    var code = ""+document.myform.inputtext.value; 
    if (document.myform.options[0].checked) { 
        document.myform.outputtext.value = escape(code); 
    } 
    else { 
        var result= "2- "; 
        for(int i=0; i<code.length; i++) { 
        //There will be some logic to decide if to add the char or not. 
        result+=code.charAt(i); 
        } 
        document.myform.outputtext.value = result; 
    } 
    } 
    

的問題對我來說並不明確。 但是,當我嘗試註釋for循環時,一切正常!

有什麼建議嗎?

+0

'int'不是JavaScript中的數據類型。請使用JavaScript調試器(如firefox上的firebug)來幫助你。 OMG! – Munim 2011-05-15 19:26:51

回答

8

Javascript中沒有int數據類型(或任何用於聲明變量的數據類型)。

for(var i=0; i<code.length; i++) { 
+0

OMG!我多麼想念這個!有時你在Java和Javascript之間混合使用。謝謝@Guffa :) – iTurki 2011-05-15 19:29:02

+0

@ 2rk:我在C#和Javascript之間跳轉的問題相同。我幾次完成了完全相同的錯誤。 :) – Guffa 2011-05-15 20:20:16

0

還有一個面向對象的解決方案。

var generate = { 
    loop: function() { 
     var code = ""+document.myform.inputtext.value; 

     if (document.myform.options[0].checked) { 
      document.myform.outputtext.value = escape(code); 
     } 
     else { 
      var result= "2- "; 
      //CHANGE THE INT(I assume Java) DATATYPE TO A LOCAL VARIABLE USING THE var KEYWORD TO KEEP THE SCOPE IN THE FOR LOOP 
      //RECURSION CAN BE QUICKER 
      for(var i=0; i<code.length; i++) { 
      //There will be some logic to decide if to add the char or not. 
      result+=code.charAt(i); 
     } 
     document.myform.outputtext.value = result; 
    } 
} 

generate.loop(); 
+0

您忘記了循環的右括號。 – Guffa 2011-05-15 19:40:46