javascript之闭包,递归,深拷贝

coding

闭包

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

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

坏处:占用内存比较大

ex:

function bibao(){

var i=10;

returnfunction(){

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)

以上是 javascript之闭包,递归,深拷贝 的全部内容, 来源链接: utcz.com/z/509437.html

回到顶部