zoukankan      html  css  js  c++  java
  • 递归


    概念:一种化归思想,将一个问题转换为已解决的问题来实现;函数自己直接或间接的调用自己,要有跳出结构

    求n的m次幂

    function power(n,m){
    if(m==1)return n;
    return n*power(n,m-1);
    }

    斐波那契数列 1,1,2,3,5,8,13,21,54...
    带有缓存功能的函数
    沙箱模式:一个自调用函数,代码写到函数中执行,不会与外界有任何影响
    var f=(function(){
    var data=[1,1];
    return function fn(n){
    var v=data[n];
    if(v===undefined){
    v=fn(n-1)+fn(n-2);
    data[n]=v;
    }
    return v;
    }
    })()

    实现深拷贝

    function copy(o){
    var temp={};
    for(var k in o){
    if(typeof o[k]=='object'){
    temp[k]=copy(o[k]);
    }else{
    temp[k]=o[k];
    }
    }
    return temp;
    }

    用递归实现getElementsByClassName

    function byClass(node,className,list){
    var arr=node.childNodes;
    for(var i=0;i<arr.length;i++){
    if(arr[i].className==className){
    list.push(arr[i]);
    }
    if(arr[i].childNodes.length>0){
    byClass(arr[i],className,list)
    }
    }

    }
  • 相关阅读:
    Lambda表达式的演变
    反射小例
    进程外Session
    页面缓存的几种方式
    数据缓存的几种方式
    Session
    Cookie
    AJAX学习
    验证码的实现
    ASP.NET动态显示数据的两种方式
  • 原文地址:https://www.cnblogs.com/ghlucky/p/5747392.html
Copyright © 2011-2022 走看看