2011-02-15 111 views
1

我想问一下这个函数的有效性,以及是否有什么情况可以使用它。感谢任何答案。函数返回两个值

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>"); 

回答

5

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

return { sum: c, diff: d }; 

这样,您就可以轻松地通过键入result.sumresult.diff使用它。

+0

感谢,我更这里[链接](HTTP读取。 com/library/blmultir.htm) – joni 2011-02-15 11:44:37

2

如果需要返回多个值,你几乎看一个数组或对象://javascript.about:

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

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