从品牌网站建设到网络营销策划,从策略到执行的一站式服务
可以使用Object.assign()函数来克隆一个object对象,使用方式如下:
创新互联公司是一家专业提供定南企业网站建设,专注与成都网站制作、成都做网站、html5、小程序制作等业务。10年已为定南众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
var obj = {a:1, b:2};
var obj1 = Object.assign({}, obj);
//看看是不是克隆成功了
obj1.a = 2;
console.log(obj1.a);//2
console.log(obj.a);//1
发现,改变obj1中属性的值没有影响obj的属性,大功告成。
浅克隆就是将栈内存中的引用复制一份,赋给一个新的变量,本质上两个指向堆内存中的同一地址,内容也相同,其中一个变化另一个内容也会变化。
深克隆就是创建一个新的空对象,开辟一块内存,然后将原对象中的数据全部复制过去,完全切断两个对象间的联系。
[img]这题的意思是把一个对象中的内容一级一级的复制到另外一个对象中。用for(var i in obj)的方式就可以了。
至于类型,js虽然是弱类型,但其实是有类型的,如数字类型,就是Number,对象类型就是Object,String,Date,Array,Boolean,Function等,然要判断对象的类型也很简单,如:
var a = 2;
a.constructor == Number;// 判断是否为数值
a.constructor == String;// 判断是否为字符串 a = "test"
a.constructor == Date;// 判断是否为日期 a = new Date()
a.constructor == Array;// 判断是否为数组 a = [1,"2",true]
a.constructor == Boolean;// 判断是否为布尔型 a = true
a.constructor == Object;// 判断是否为对象 a = {}
a.constructor == Function;// 判断是否为方法类型 a = function(){}
模似继承的方法:对象冒充、apply方法、call方法,原型方式、混合方式。
第一种严格来说不叫克隆。a和b指向同一个对象,修改b的时候其实a也被修改了
第二种是把a做了一个复制,然后把复制出来的新对象给b,修改b的时候a不会变
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图