2012-09-10 155 views
0

如果我有以下幾點:如何在JavaScript回調函數中返回多個變量?

function hello(name, callback) { 
var hello1 = "Hello There " + name; 
callback(hello1); 
} 

hello("John", function(hello1) { 
    alert(hello1); 
}); 

我可以在一個警告框獲得「你好約翰」。我該如何做到這一點,我可以有一個hello2變量,以便在回調中有兩個變量?我基本上是想要做的事,如:

function hello(name, callback) { 
var hello1 = "Hello There " + name; 
var hello2 = "Greetings " + name; 
callback(hello1, hello2); 
} 

hello("John", function(hello1, hello2) { 
    alert(hello1 + " " + hello2); 
}); 
+5

嗯,你的例子不是你想要的嗎?第二個例子。 –

+5

您的標題暗示您有興趣從回調中返回變量,而問題內容則表明您對如何提交多個變量作爲參數感興趣。你想完成哪個? –

+0

我假設第一個例子應該有alert(hello1);'而不是'alert(「hello1」);'? – nnnnnn

回答

0

,如果你只拿到了字符串值,最好將創建一個數組:

var someArray = new Array(); 

然後在功能,您可以把該數組中:

someArray[someArray.length]= "HELLO USER WITH NAME: " + name; 
someArray[someArray.length]= "HELLO USER WITH NAME: " + name2; 

,之後返回數組:

callback(someArray); // or maybe will be better?: return someArray; 

,並在回調函數中你可以得到的值:

function callback(var retArray){ 
for(int i=0,i<retArray.length,i++){ 
console.log(retArray[i]); } 

,或者你可以把自己製作的對象(功能)與一些字符串,如果你只有inside..and然後返回這個function..But字符串值,更好的是陣列。

相關問題