2014-09-19 28 views
-3

我想通過功能如何使javascript函數

function sss() 
{ 
    for (i=1;i<=3;i++){ 

     bbb(a.i) 

    } 
} 

sss(); 

有打電話像BBB(A1),BBB(A2),BBB(A3)...... 的JavaScript函數中的級聯在上面的代碼中必須有很多錯誤。什麼應該是正確的語法?特別在bbb(a.i)中,即將'a'與變量'i'連接起來。

+1

JavaScript的字符串連接運算符是'+'。 – 2014-09-19 13:42:59

+1

'a + i'將在變量'a'和'i'之間進行字符串連接。你在問什麼? – 2014-09-19 13:43:00

+0

具有動態命名變量是一個標誌,您應該使用數組或對象。 – 2014-09-19 13:46:48

回答

0

如果我理解你的權利,沒有任何語法錯誤,但也有其他幾個:

function sss() 
{ 
    var i; // <=== Declare `i` 
    for (i=1;i<=3;i++){ 

     bbb(a[i]); // <=== Use [i] to access `a[1]`, `a[2]`, etc. 

    } 
} 

sss(); 

注意,如果a是正常的,非稀疏矩陣,你可能想:

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

在JavaScript中,你可以使用點語法與文字(obj.foo)訪問屬性,或者括號什麼技術上強制轉換爲字符串(obj["foo"])語法。第二個語法就是我們通常使用的陣列,使用a[0]a[1]等(這是技術上理論上裹挾a["0"]a["1"]等,因爲regular JavaScript arrays aren't really arrays at all

+0

你也許想提一下「off by 1」thingy) – thefourtheye 2014-09-19 13:44:11

+0

......假設通過索引訪問數組是一個問題,但考慮到「將'a'與變量'i'連接起來」問題,我不太確定。 – 2014-09-19 13:45:01

+0

@thefourtheye:假設'a'是一個數組...... – 2014-09-19 13:46:44

1

我不是100 %肯定你的意圖,但重新讀你的問題幾次,我想你想建立一個字符串的迭代器變量i傳遞到bbb()。如果是這樣,你想要這樣的:

function sss() { 
    for (var i = 1; i <= 3; i++) { 
     bbb("a" + i); 
    } 
} 

這將有效地做到:

bbb("a1"); 
bbb("a2"); 
bbb("a3"); 

還要注意i = 1出臺前的var - 你絕對不希望意外創建全局循環變量。

+0

雅,這是我的意圖。 – 2014-09-19 14:19:01

相關問題