为了账号安全,请及时绑定邮箱和手机立即绑定

javascript递归函数赋值问题

javascript递归函数赋值问题

偶然的你 2019-03-08 14:15:33
1.为什么这个j里面赋值是无限嵌套。想不明白,希望大家帮我一下。<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <body>        <script type="text/javascript">            var a = [1, 2, 3, 4, 5, [1, 2, 3, 4]];            var j = [];            function copyarr(obj) {                var n = obj instanceof Array;                for(var i = 0; i < obj.length; i++) {                    if(typeof obj[i] == 'object') {                        j[i]=copyarr(obj[i]);                    } else {                        j[i] = obj[i];                    }                }                return j;            }            copyarr(a);            console.log(j)        </script>    </body></html>
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

你每次都是操作的同一个数组


查看完整回答
反对 回复 2019-03-20
?
森栏

TA贡献1810条经验 获得超5个赞

你每次递归进去都用的是函数外面的 变量 j,这样做是错的。

你应该在函数里面定义 j


查看完整回答
反对 回复 2019-03-20
  • 3 回答
  • 0 关注
  • 757 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信