Myc_CSDN
和Java狼狈为奸
采纳率100%
2017-06-27 13:18

js 递归 传入的变量值每次在递归时被初始化了

已采纳

代码如下:

 function recursionNode(html, node) {
    if (node.length > 0) {
        var len = node.length;
        for(var i = 0; i < len; i++) {
            var cnode = node[i];
            if (cnode.children != null) {
                recursionNode(html,cnode.children);
            } else {
                var jsonData = $.toJSON(cnode.data);
                var obj = $.parseJSON(jsonData);
                if (obj.type == 'Department') {
                    html += "<div>"+obj.name+"</div>";
                }
            }
        }
    }
}

在js中递归调用时,每次递归时html都被初始化成html = "";但在java中我一直是这么写的,html变量的值会叠加,为什么js中就不行?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • lihongbiao0610 lihongbiao0610 4年前

    var html="";
    function recursionNode( node) {
    if (node.length > 0) {
    var len = node.length;
    for(var i = 0; i < len; i++) {
    var cnode = node[i];
    if (cnode.children != null) {
    recursionNode(cnode.children);
    } else {
    var jsonData = $.toJSON(cnode.data);
    var obj = $.parseJSON(jsonData);
    if (obj.type == 'Department') {
    html += "

    "+obj.name+"
    ";
    }
    }
    }
    }
    }
    recursionNode(node);
    console.log(html)
    点赞 1 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前

    你有一个作为全局变量的html么?换一个变量名看看

    recursionNode(html,cnode.children);
    ->
    return recursionNode(html,cnode.children);
    或者下面加上return html;
    没仔细看你的逻辑

    点赞 1 评论 复制链接分享
  • Yangvivian Yangvivian 4年前

    function recursionNode(node) {
    var html="";
    if (node.length > 0) {
    var len = node.length;
    for(var i = 0; i < len; i++) {
    var cnode = node[i];
    if (cnode.children != null) {
    recursionNode(html,cnode.children);
    } else {
    var jsonData = $.toJSON(cnode.data);
    var obj = $.parseJSON(jsonData);
    if (obj.type == 'Department') {
    html += "

    "+obj.name+"
    ";
    }
    }
    }
    }
    return html;
    }

    //递归使用时,可以这样
    html+=recursionNode(node);

    点赞 评论 复制链接分享