您无法从单个函数显式返回两个变量,但可以通过多种方式连接这两个变量以返回它们。
如果不需要将变量分开,可以直接将它们连接起来,如下所示:
function test(){
var h = 'Hello';
var w = 'World';
var hw = h+w
return (hw);
}
var test = test();
alert(test);
这将提醒“HelloWorld”。 (如果你想在那里有一个空间,你应该使用var hw = h+" "+w
反而。
如果需要将两个变量分开,可以将它们放入数组中,如下所示:
function test(){
var h = "Hello";
var w = "World";
var hw=[h,w];
return hw;
}
var test = test();
alert(test);
这允许h
and w
值仍然可以单独访问test[0]
and test[1]
, 分别。然而,由于alert() 处理数组的方式(即它按顺序打印数组中每个元素的逗号分隔列表),这里的alert(test) 将显示“Hello,World”。如果您想产生与示例代码相同的输出,您需要使用类似的东西join()
. join()
将从数组构造一个字符串,它需要一个参数作为元素之间的分隔符。要重现我的第一个示例中的两个警报,您需要使用alert(test.join(""))
and alert(test.join(" ")
, 分别。
我的示例可以通过跳过创建来稍微缩短hw
变量并直接返回一个数组。在这种情况下,test() 看起来像这样:
function test(){
var h="Hello";
var w="World";
return [h, w];
}
这也可以作为一个对象来完成return { h : h, w : w };
,在这种情况下,您将分别访问各个变量作为 test.h 和 test.w。