如何在javascript回调函数中返回多个变量?

时间:2012-09-10 02:00:18

标签: javascript

如果我有以下内容:

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

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

我可以在警告框中找到“Hello There John”。我怎么做到这样我可以有一个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);
});

1 个答案:

答案 0 :(得分: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]); }

或者你可以把你自己的对象(函数)放在里面有一些字符串......然后返回这个函数。但是如果你只有字符串值,那么更好的是数组。