美文网首页
引用类型与对象拷贝

引用类型与对象拷贝

作者: 101架钢琴 | 来源:发表于2017-03-10 12:16 被阅读0次

1.引用类型有哪些?非引用类型有哪些

基本类型值(数值、字符串、布尔值、null和undefined):指的是保存在栈内存中的简单数据段;
引用类型值(对象、数组、函数、正则):指的是那些保存在堆内存中的对象,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象

2、

Paste_Image.png

console.log(obj1 == obj2);输出:false,obj1和obj2分别是指一个指针,指向不同的地址
console.log(obj1 = obj2);输出:object{a:1,b=2}将obj2赋值给obj1
console.log(obj1 == obj2);输出:true经过obj1 = obj2后,两个指向相同的地址

3、

Paste_Image.png Paste_Image.png

4、

Paste_Image.png Paste_Image.png

5、

Paste_Image.png

6、

Paste_Image.png

7、

方法一:
function deepCopy(obj){
var newObj={};
for(key in obj){
if(typeof obj[key]==="number" || typeof obj[key]==="string" || typeof obj[key]==="boolean"
|| obj[key]===undefined || obj[key]===null){
newObj[key]=obj[key];
}
else{
newObj[key]=deepCopy(obj[key]);
}
}
return newObj;

方法二:
function deepCopy(obj){
var newObj={};
var newArr=[];
newArr=JSON.stringify(obj);
newObj=JSON.parse(newArr);
return newObj;
}

相关文章

  • Java深拷贝和浅拷贝

    定义 浅拷贝 基本数据类型 拷贝数值 引用类型 拷贝对象引用 深拷贝 基本数据类型 拷贝数值 引用类型 拷贝引用所...

  • 深拷贝和浅拷贝

    浅拷贝就比如像引用类型,而深拷贝就比如值类型。浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不...

  • Java之深浅拷贝

    Java之深浅拷贝 基本类型:拷贝数据的值其他类型:拷贝地址的引用,拷贝出的新对象与原对象共享实例变量,不受访问权...

  • 引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些? 引用类型包括:对象、数组、函数、正则表达式; 非引用类型,即基本类型,包括:数...

  • 引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型:Object、Array、Date、RegExp、Function、M...

  • 引用类型与对象拷贝

    1、引用类型有哪些?非引用类型有哪些 引用类型:Object、Array、Function、正则,将这些对象保存在...

  • 引用类型与对象拷贝

    1.引用类型有哪些?非引用类型有哪些 引用类型: 对象 object 数组 函数 正则非引用类型...

  • 引用类型与对象拷贝

    1.引用类型有哪些?非引用类型有哪些 基本类型值(数值、布尔值、symbol、null和undefined):指的...

  • 引用类型与对象拷贝

    1.引用类型有哪些?非引用类型有哪些? ECMA Script中规定,JavaScript的基本数据类型分为两类,...

  • 引用类型与对象拷贝

    基本类型、引用类型 基本类型(字符串、数值、布尔值、null 和 undefined):指的是保存在栈内存中的简单...

网友评论

      本文标题:引用类型与对象拷贝

      本文链接:https://www.haomeiwen.com/subject/jdlngttx.html