Ada*_*Mo. 20 javascript function
请考虑以下代码(演示):
function test(){
var h = 'Hello';
var w = 'World';
return (h, w);
}
var test = test();
alert(test);
Run Code Online (Sandbox Code Playgroud)
执行时,该函数test仅返回第二个值(即'World').如何让它返回多个值?
Sno*_*rog 29
您不能从单个函数显式返回两个变量,但是有多种方法可以连接这两个变量以便返回它们.
如果你不需要将变量分开,你可以直接连接它们,如下所示:
function test(){
var h = 'Hello';
var w = 'World';
var hw = h+w
return (hw);
}
var test = test();
alert(test);
Run Code Online (Sandbox Code Playgroud)
这会提醒"HelloWorld".(如果你想要一个空间,你应该使用var hw = h+" "+w.
如果需要将两个变量分开,可以将它们放入一个数组中,如下所示:
function test(){
var h = "Hello";
var w = "World";
var hw=[h,w];
return hw;
}
var test = test();
alert(test);
Run Code Online (Sandbox Code Playgroud)
这允许仍然分别作为和单独访问h和w值.但是,这里的alert(test)将显示"Hello,World",因为alert()处理数组的方式(即,它按顺序打印数组中每个元素的逗号分隔列表).如果你想生成与示例代码相同的输出,你需要使用类似的东西.将从数组构造一个字符串,它接受一个参数作为元素之间的分隔符.要重现我的第一个示例中的两个警报,您需要分别使用和.test[0]test[1]join()join()alert(test.join(""))alert(test.join(" ")
通过跳过hw变量的创建并直接返回数组,可以略微缩短我的示例.在这种情况下,test()看起来像这样:
function test(){
var h="Hello";
var w="World";
return [h, w];
}
Run Code Online (Sandbox Code Playgroud)
这也可以作为一个对象来完成return { h : h, w : w };,在这种情况下,您将分别访问各个变量test.h和test.w.
Vic*_*ves 17
function test(){
var h = 'Hello';
var w = 'World';
return {h:h,w:w}
}
var test = test();
alert(test.h);
alert(test.w);
Run Code Online (Sandbox Code Playgroud)
试试这个
nnn*_*nnn 11
该逗号操作评估每个操作数,然后返回最后一个的值.
你需要返回一个数组:
return [h, w];
Run Code Online (Sandbox Code Playgroud)
......或一个物体:
return { h : h, w : w };
Run Code Online (Sandbox Code Playgroud)
您可以将其用作:
var test = test();
alert(test[0]); // "hello" - in the case of the array version
Run Code Online (Sandbox Code Playgroud)
...要么:
var test = test();
alert(test.w); // "world" in the case of the object version
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85893 次 |
| 最近记录: |