• 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)
  • 相关阅读:
    core文件生成总结
    php 5.2 版本isset()方法小坑
    gdb调试memcached
    mysql的sql优化案例
    php对mongo操作问题
    memcache锁
    php的session实现
    linux指令tips
    php拦截器(魔术方法)
    Nginx源码研究八:nginx监听socket实现流程
  • 原文地址:https://www.cnblogs.com/wdxue/p/8723945.html
Copyright © 2020-2023  润新知