摘要: 浅拷贝: 对象只被克隆了一个引用或者只会被克隆最外部的一层,更深层的对象还是通过引用指向同一块堆内存。 1. Object.assign() 2. 展开运算符 ... 3. 自己编写一个函数 深拷贝:不光解决了第一层的问题,还递归拷贝了目标对象的所有属性。 1. JSON.parse(JSON.st 阅读全文
posted @ 2019-02-13 11:59 格洛米miss 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 基本数据类型:按值访问,可操作保存在变量中的实际的值。基本类型值指的是简单的数据段。 基本数据类型有这六种:undefined、null、string、number、boolean、symbol(es6)。 引用类型:当复制保存着对象的某个变量时,操作的是对象的引用,但在为对象添加属性时,操作的是实 阅读全文
posted @ 2016-11-15 16:30 格洛米miss 阅读(14780) 评论(6) 推荐(4) 编辑
摘要: 闭包:在一个函数内部创建另一个函数,另一个函数有权访问这个函数的局部变量。 在这里,执行comparison(propertyName)则返回的是另一个函数function(obj1,obj2){...}。 每个执行环境都有一个变量对象,全局环境的变量始终存在,而函数中的局部环境的变量对象则只在函数 阅读全文
posted @ 2016-10-09 20:45 格洛米miss 阅读(349) 评论(0) 推荐(1) 编辑
摘要: 创建对象有很多种方式,首先是最简单基本的两种方式: ①创建一个object实例 ②对象字面量 这两种方法创建单个对象是没什么问题,但很明显的,若需要创建大量对象,就会产生很多重复的代码。所以以下就讲一下能解决这个问题的7种模式。 一、工厂模式 工厂模式:用一个函数来封装创建对象的细节,返回创建的对象 阅读全文
posted @ 2016-10-08 14:30 格洛米miss 阅读(1528) 评论(0) 推荐(1) 编辑
摘要: 面向对象语言中都支持两种继承:接口继承和实现继承,但是由于js中函数没有签名(接收的参数类型和数量不同),所以无法实现接口继承。 下面讲讲js中实现继承的方法: 一、原型链继承 原型链继承:既继承了父类的模板,又继承了父类的原型对象。 由上可见,子类实例的构造函数指向了父类的构造函数(Boy.pro 阅读全文
posted @ 2016-09-28 12:51 格洛米miss 阅读(359) 评论(0) 推荐(0) 编辑
摘要: ECMA5规定了只有内部才有的特性,描述了属性的各种特征,这些特性用于实现JavaScript引擎,因此在Js中不能直接访问他们。为了标识特性,我们一般会他们放入两对方括号中。 ECMAScript中有两种属性:数据属性、访问器属性,其中访问器属性不能直接定义,而是通过Object.definePr 阅读全文
posted @ 2016-09-27 14:51 格洛米miss 阅读(844) 评论(1) 推荐(0) 编辑