繁体   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