摘要: ##克隆obj Object.assign():对象合并,实现对象的浅克隆 ##画图理解 ##对象展开运算符 ,展开运算符,也只能展开第一级,也是浅克隆。 let newObj = ##深克隆 json.parse(json.stringify()) ##封装一个深克隆函数 代码啊 let obj 阅读全文
posted @ 2020-11-27 22:54 爱喝可乐的靓仔 阅读(87) 评论(0) 推荐(0) 编辑
摘要: ##new分析 第一步:创建一个对象 第二部: 将创建的对象的原型链指向函数的原型 第三步:改变指向函数的this指向 第四步: 返回改变指向后执行的对象 ##Object.create(xxx) 创建一个空对象,并且把xxx作为创建对象的原型(空对象.proto = xxx) xxx必须是对象或者 阅读全文
posted @ 2020-11-27 16:02 爱喝可乐的靓仔 阅读(278) 评论(0) 推荐(1) 编辑
摘要: ##面向对象底层运行机制 1.每一个函数(自定义类/内置类/普通对象)都具备一个属性:prototype【原型】,这个属性是一个对象,在这个对象中存储的是,当前类供应给实例调用的公共属性方法, 2.在prototype这个对象中,内置一个constructor属性,属性值是当前类本身 3.每一个对象 阅读全文
posted @ 2020-11-27 14:51 爱喝可乐的靓仔 阅读(86) 评论(0) 推荐(0) 编辑
摘要: ##构造函数和普通函数运行的区别 因为构造函数执行既有普通函数执行的一面,也有自己特殊的一面,所以在所属私有上下文中,只有this.xx=xx才和实例对象有直接关系 而上下文的私有变量和实例对象没有必然的联系。 ##画图了解构造函数的执行过程 ##构造函数内含有returan ##构造函数的执行特点 阅读全文
posted @ 2020-11-27 13:36 爱喝可乐的靓仔 阅读(82) 评论(0) 推荐(0) 编辑