zoukankan      html  css  js  c++  java
  • javascript之闭包,递归,深拷贝

    闭包

    理解:a函数执行后returnb函数且b函数可以访问a函数的数据

    好处:子函数存储在复函数内部,子函数执行完不会被自动销毁

    坏处:占用内存比较大

    ex:

    function bibao(){
         var i=10;
         return function(){
             console.log(i);
             return i++;
        }
    }
    var bibao_task=bibao();
    bibao_task();
    bibao_task();
    bibao_task();

    递归

    理解:子元素有子元素,子元素的子元素有子元素.....

    深拷贝和浅拷贝

    理解:人的克隆和影子的区别,内存地址的区别

    深拷贝:   

    Json函数

    Target=JSON.parse(JSON.stringify(obj))

    Jq$.extend

    $.extend(true,target,obj)//参数为true为深拷贝,否则为浅拷贝

    递归深拷贝

    var china = {
          nation : '中国',
          birthplaces:{
              name:'chen'
          }
    }
    //深复制,要想达到深复制就需要用递归
    var newc={};
    function copy(china,newc){
        for(i in china){
            if(typeof china[i]==='object'){
                newc[i]=china[i];
                copy(china[i],newc[i])
            }else{
                newc[i]=china[i]
            }
        }
    }
    copy(china,newc);
    console.log(newc)
  • 相关阅读:
    python
    python
    日常使用 小技巧 ~ (长期更新)
    日常的 小 bug ~(长期更新)
    BUUCTF Re部分wp(MIPS特别篇)
    [FlareOn5]FLEGGO
    [FlareOn6]BMPHIDE
    配置搭建单机rocketmq及rocketmq集群
    nessus服务安装与使用
    HTTP缓存技术详解
  • 原文地址:https://www.cnblogs.com/wdxue/p/8723945.html
Copyright © 2011-2022 走看看