簡體   English   中英

Javascript:修改一個函數,打印出可遞歸的變量數量的參數?

[英]Javascript: modifying a function which prints out variable number of arguments to be recursive?

我創建了一個Javascript函數,它接受可變數量的參數並在新行上打印出來:

var printOut = function () {
    for (var i = 0; i < arguments.length; i++) {
        document.writeln(arguments[i] + '<br>');
    }
};

printOut('a', 'b', 'c');
printOut('d', 'e');

該功能打印出來:

a
b
c
d
e

我想知道的是,是否可以使用此函數並使其遞歸,但輸出的順序是否相同? 根據我的研究,遞歸會顛倒輸出的順序嗎?

小提琴: https//jsfiddle.net/klems/kao9bh6v/

您可以切片參數並使用apply再次調用該函數。

 var printOut = function () { if (arguments.length) { console.log(arguments[0]); printOut.apply(null, [].slice.call(arguments, 1)); } }; printOut('a', 'b', 'c'); printOut('d', 'e'); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM