Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数返回两个值_Javascript - Fatal编程技术网

Javascript 函数返回两个值

Javascript 函数返回两个值,javascript,Javascript,我想问一下这个功能有多有效,以及在什么情况下我可以使用它。谢谢你的回答 function sum_and_dif(a, b) { var c = a + b; var d = a - b; return c +" " + d; } var result = sum_and_dif (200, 10); document.write(result +"</br>"); var where_is_a = result.indexOf(" ");// Here

我想问一下这个功能有多有效,以及在什么情况下我可以使用它。谢谢你的回答

function sum_and_dif(a, b) {
    var c = a + b;
    var d = a - b;
    return c +" " + d;
}

var result = sum_and_dif (200, 10);

document.write(result +"</br>");

var where_is_a = result.indexOf(" ");// Here i detected where is the empty space
var c_number = parseInt(result.substring(0, where_is_a));
var d_number = parseInt(result.substring(where_is_a +1,result.length));

document.write(c_number +"</br>");
document.write(d_number +"</br>");

使用对象作为返回值而不是字符串可能更有用

return { sum: c, diff: d };

通过这种方式,您可以通过键入result.sum或result.diff.轻松使用它。

使用对象作为返回值而不是字符串可能更有用

return { sum: c, diff: d };

通过这种方式,您可以通过键入result.sum或result.diff.轻松使用它。

如果您需要返回多个值,您几乎可以看到一个数组或对象:

function sum_and_diff(a, b) {
    …
    return { sum : c, diff : d };
}

var foo = sum_and_diff(1, 2);
alert(foo.sum);
alert(foo.diff);

如果您需要返回多个值,那么您将看到一个数组或对象:

function sum_and_diff(a, b) {
    …
    return { sum : c, diff : d };
}

var foo = sum_and_diff(1, 2);
alert(foo.sum);
alert(foo.diff);

谢谢,我在这里读到了更多@joni,我不推荐你的链接提出的其他两种解决方案,因为我认为全局变量或数组不应该这样使用。我更愿意坚持使用对象。谢谢,我在这里读了更多@joni,我不推荐您的链接提出的其他两种解决方案,因为我认为全局变量或数组不适合这样使用。我更喜欢用这个物体代替。