1.什么是浅拷贝? 开发时会遇到这样的问题, 首先我们有一个对象 var obj1 = {a:1, b:2, c:3,........}(里面内容超多),里面存放了一些原始的数据,因为项目中有好多地方要用到这个数据,所以我不想改变这个obj1。 然后有个地方要用到这样的一个对象obj2 = {a:1 ...
分类:
其他好文 时间:
2017-09-12 13:32:46
阅读次数:
175
1.slice 语法:slice(begin,end) 方法选择一个从开始到结束(不包括结束)的数组的一部分浅拷贝到一个新的数组对象,方法不会改变原数组。如果是对象则拷贝对象的引用到新数组,如果是基本类型则会拷贝这些值到新数组。 如果省略begin则会从0开始。如果end被省略则会抽取到最后一个元素 ...
分类:
编程语言 时间:
2017-09-12 00:38:23
阅读次数:
250
一:深浅拷贝 : s = [ [1,2] ,3 ,4 ] s1 = s.copy() , s1[0][0] = 8 , print (s) ,print (s1), 两个的结果都为 [ [8,1] , 3 ,4 ] 首先是因为列表是可以修改的,再一个跟指针有关系,具体图如下: 浅拷贝(shallow ...
分类:
编程语言 时间:
2017-09-10 12:40:47
阅读次数:
247
Josh Bloch:如果你在我的书中读到关于克隆的文章,特别是当你在字里行间读到的时候,你就会知道我认为克隆已经被深深地破坏了。有一些设计缺陷,其中最大的一个是可克隆的接口没有克隆方法。这就意味着它根本就不起作用:制造一些可克隆的东西并不能说明你能用它做什么。相反,它说明了它在内部可以做些什么。它 ...
分类:
其他好文 时间:
2017-09-09 17:20:00
阅读次数:
158
字典dict 创建字典的2种方法 dic={'k1':'v1','k2':'v2'} #方法一 dic=dict(k1='v1',k2='v2') #方法二,两个相等 提供的功能: clear #清空所有元素 copy #浅拷贝 fromkeys #在原字典拿一个元素创建一个新的字典,可以设置不同的 ...
分类:
编程语言 时间:
2017-09-08 16:21:53
阅读次数:
172
浅拷贝 //这样的拷贝有一个问题。那就是,如果父对象的属性等于数组或另一个对象,//那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能。 深拷贝 //就是能够实现真正意义上的数组和对象的拷贝。它的实现并不难,只要递归调用"浅拷贝"就行了。 ...
分类:
Web程序 时间:
2017-09-07 11:55:38
阅读次数:
162
【结论】 1. 对 对象源的复制,占用不同的内存。 2. 源只是一级目录,则源做变化,不影响深浅拷贝。 3. 源是多级目录,则源做变化,只影响浅拷贝(shallow copy),不影响深拷贝(deep copy)。 4. 序列对象的切片是浅拷贝。 5. 深浅拷贝图例(转自Yuan 先生!的博客 ht ...
分类:
编程语言 时间:
2017-09-06 19:39:03
阅读次数:
224
一、原型式继承本质其实就是个浅拷贝,以一个对象为模板复制出新的对象functionobject(o){
varG=function(){};
G.prototype=o;
returnnewG();
}
varobj={
name:‘ghostwu‘,
age:22,
show:function(){
returnthis.name+‘,‘+this.age;
}
};
varobj2=object(obj);
console.log(obj2..
分类:
Web程序 时间:
2017-09-06 09:57:36
阅读次数:
144
列表 概念:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 列表的使用 输出结果: 如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素: 输出结果: 用len()函数可以获得list元素的个数。 输出结果: 当 ...
分类:
编程语言 时间:
2017-09-05 19:13:15
阅读次数:
143
了解深拷贝和浅拷贝之前先要理解可变与不可变对象 python只允许使用引用传递,有可变对象和不可变对象,可变对象:list,dict.不可变对象有:int,string,float,tuple Python int,string,float,tuple不可变举栗子: def int_object() ...
分类:
编程语言 时间:
2017-09-04 22:33:46
阅读次数:
164