在一個功能
回答
您不能顯式地從一個函數返回兩個變量,但有多種方法可以連接這兩個變量以返回它們。
如果您不需要保持變量分離,你可以只將它們連接起來,直接像這樣:
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
和w
值分別仍然可以分別訪問,分別爲test[0]
和test[1]
,但alert(test)在這裏會顯示「Hello,World」,因爲alert()處理數組的方式(也就是說,它會打印一個以逗號分隔的列表如果你想產生與你的示例代碼相同的輸出,你需要使用類似於的東西。 join()
將構造一個數組中的字符串,它需要一個參數作爲元素之間的分隔符。要重現我的第一個示例中的兩個警報,您需要分別使用alert(test.join(""))
和alert(test.join(" ")
。
我的示例可以通過跳過hw
變量的創建並直接返回數組來輕微縮短。在這種情況下,測試()是這樣的:
function test(){
var h="Hello";
var w="World";
return [h, w];
}
這也與return { h : h, w : w };
對象,在這種情況下,你就可以訪問各個變量test.h和test.w,分別進行。
您可以返回一個數組或一個新的對象。
function test(){
var h = 'Hello';
var w = 'World';
return {h:h,w:w}
}
var test = test();
alert(test.h);
alert(test.w);
試試這個
如果你在函數參數裏面有參數會怎麼樣呢? – TheAmazingKnight
的comma operator評估每個操作數,然後返回最後一個的值。
你需要或者返回數組:
return [h, w];
...或對象:
return { h : h, w : w };
,你會再使用爲:
var test = test();
alert(test[0]); // "hello" - in the case of the array version
...或:
var test = test();
alert(test.w); // "world" in the case of the object version
- 1. 功能在另一個功能參數
- 2. Sinon Stub功能在另一個功能
- 3. 傳遞對象在JavaScript中的功能(一個功能到另一個功能)
- 4. 我想把一個jQuery的功能在另一個功能
- 5. 一個功能
- 6. 一個功能
- 7. 一個功能
- 8. 在調用另一個功能之前執行一些功能
- 9. 功能不是作爲一個功能
- 10. 從另一個功能回採功能
- 11. 功能作爲另一個功能
- 12. 從另一個功能觸發功能
- 13. 功能內的另一個功能
- 14. 另一個功能
- 15. 一個AJAX功能
- 16. 不能在一個div的onclick功能
- 17. 點擊功能現在正在從一個功能
- 18. 指針在一個結構一功能
- 19. 完成另一個功能後執行一個功能
- 20. 使用另一個功能禁用一個功能 - 香草JS
- 21. Symfony2 - 一個包是一個功能......但是什麼是功能?
- 22. 將列表從一個功能傳遞到另一個功能
- 23. 上一個功能運行完成後執行一個功能
- 24. Powershell:從一個功能到另一個功能的管道值
- 25. 如何從第一個功能繼續下一個功能?
- 26. 多個onclicks一個功能
- 27. 兩個lodash設置在一個功能?
- 28. 有一個功能的jquery在啓動另一個功能之前完成
- 29. 在JavaScript中訪問變量從一個功能到另一個功能
- 30. 在另一個公共功能中使用一個公共功能
另外:http:// stackoverflow。com/questions/10221445/return-multiple-variables-from-a-javascript-function – bfavaretto