一道有趣的面试题
Posted lianer88
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道有趣的面试题相关的知识,希望对你有一定的参考价值。
一道面试题。接受参数n=5,不用for循环输出数组【1,2,3,4,5】
这用递归的思路,配合arguments.callee,代码如下
1 function show(n) { 2 var arr = []; 3 return (function () { 4 arr.unshift(n); 5 n--; 6 if (n != 0) { 7 arguments.callee(); 8 } 9 return arr; 10 })() 11 } 12 show(5)//[1,2,3,4,5]
现在arguments.callee 被弃用了。怎么办,其实很简单,给内部函数一个名字即可
1 function show(n) { 2 var arr = []; 3 return (function fn() { 4 arr.unshift(n); 5 n--; 6 if (n != 0) { 7 fn(); 8 } 9 return arr; 10 11 })() 12 } 13 show(5)//[1,2,3,4,5]
以上是关于一道有趣的面试题的主要内容,如果未能解决你的问题,请参考以下文章