码迷,mamicode.com
首页 > Web开发 > 详细

js对对象引用

时间:2017-12-15 00:43:27      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:改变   object   fun   epc   trace   浅拷贝   div   ons   typeof   

var a = [1,2,3];
var b = a;
b.push(4);
console.log(a);//[1,2,3,4]
var a = [1,2,3];
var b = a;
b=[1,2,3,4];//改变了引用地址
console.log(a);//[1,2,3]
// 浅拷贝
var a = {};
var b = {name:"hello"};
function copy(obj){
var newObj = {};
for(var attr in obj){
newObj[attr] = obj[attr];
}
return newObj;

}
a = copy(b);
a.name = ‘hi‘;
console.log(b.name)//hi;
//递归
function all(n){
if(n==1){
console.trace(n);
return 1;
}

return n*all(n-1);
}

console.log(all(4))

//递归深拷贝
var a = {};
var b = {name:{age:"hello"}};
function deepcopy(obj){

if(typeof obj!=‘object‘){
console.trace();
return obj;
}
var newObj = {};
for(var attr in obj){
newObj[attr] = deepcopy(obj[attr]);
}
return newObj;

}
var a = deepcopy(b);
a.name.age = ‘hi‘;
console.log(b.name.age)//hello;

js对对象引用

标签:改变   object   fun   epc   trace   浅拷贝   div   ons   typeof   

原文地址:http://www.cnblogs.com/lk1186578324/p/8040524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!