zoukankan      html  css  js  c++  java
  • JavaScript递归注意事项

    var svg_node = document.getElementById("svgnode")
    
    function parents(posnode,selector)
    {
        var flag = false;
        var initials = selector.substr(0,1)
        var aim_parent = posnode.parentNode;
        
        switch(initials){
            
            case "#":
                selector = substring(1,selector.length);
                flag = [].slice.call(aim_parent.id).indexOf(selector) > -1;
            break;
            case ".":
                selector = substring(1,selector.length);
                flag = [].slice.call(aim_parent.classList).indexOf(selector) > -1;
            break;
            default:
                flag = aim_parent.tagName.toLowerCase() === selector;
            break;
    
        }
    
        if (flag) {
           return aim_parent;
        }
         
          // 递归调用时,必须在递归调用前面加个return,否则接收的变量会是undefined
          return parents(aim_parent, selector);
    }
    
    
    //  如果在递归调用前面没有return,则k_dom的值会为undefined
    var k_dom = parents(svg_node,"li");
  • 相关阅读:
    Codeforce 270A
    Codeforce 513A
    Codeforce 834A
    51Nod 1433 0和5
    51Nod 1005 大数加法
    51Nod 1136 欧拉函数
    51Nod 1449 砝码称重 (二进制思想)
    Codeforce 459A
    Codeforce 515A
    Codeforce 474A
  • 原文地址:https://www.cnblogs.com/macliu/p/10893241.html
Copyright © 2011-2022 走看看