1.借助构造函数实现继承 call方法改变了函数运行的上下文(this的指向,指向了Child实例化的对象引用),将父级构造函数的this指向子类构造函数的实例上去。执行时父类的方法和属性都挂载到Child类的实例上 缺点:父类的原型对象上有属性和方法不能被子类继承 2.借助原型链实现继承 prot ...
分类:
其他好文 时间:
2019-01-28 20:16:43
阅读次数:
200
1、创建对象Object 1.1 字面量的方式创建 1.2 new Object() 1.3 构造函数创建 1.4 工厂模式 1.5 Object.create() ES5新增方法 Object.create(); 参数是一个对象,并且该对象作为新创建对象的原型。 2、对象属性的操作 2.1 访问属 ...
分类:
Web程序 时间:
2019-01-26 18:52:32
阅读次数:
216
基于原型的语言 JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototyp ...
分类:
Web程序 时间:
2019-01-16 11:41:43
阅读次数:
223
1. 基本概念: “原型属性”也可以叫做“原型”(prototype):所有函数都有prototype,我觉得可以理解为python中的类属性,不需要通过实例,直接用类(es5就是函数名)可以调用,下面列举了三种创建函数的方法,函数创建后都有prototype属性,prototype指向“原型对象” ...
分类:
其他好文 时间:
2019-01-07 21:29:25
阅读次数:
123
原型模式:对象的属性的完全复制,包括基本类型属性和引用类型的对象的属性的安全复制。 复制的方式可划分为: 浅复制:一般通过clone实现,引用类型的属性复制的是引用,而不是新的对象。原型对象需要实现java.lang.Cloneable。 深复制: 可以通过手动进行set赋值,引用对象类型的属性,先... ...
分类:
其他好文 时间:
2019-01-06 10:50:31
阅读次数:
198
1.0 Object.keys()的用法 在实际开发过程中,有时需要知道对象的所有属性,除了(for...in...)之外,原生js给我们提供了一个更优雅的方法:Object.keys(object) 1.1 传入对象,返回包含对象可枚举属性和方法的数组 let obj = {a:'1',b:'2' ...
分类:
其他好文 时间:
2019-01-04 17:24:32
阅读次数:
182
学习JS的过程中,想要掌握面向对象的程序设计风格,对象模型(原型和继承)是其中的重点和难点,拜读了各类经典书籍和各位前辈的技术文章,感觉都太过高深,花费了不少时间才搞明白(个人智商是硬伤/(ㄒoㄒ)/~~),这里略作总结尽量通俗易懂。 一、基本概念 1、对象:属性和方法的集合,即变量和函数的封装。每 ...
分类:
Web程序 时间:
2019-01-04 12:38:48
阅读次数:
203
一、前言 我们先通过代码来分别打印出实例对象、构造函数,以及修改了原型对象的构造函数,通过对比内部结构来看看他们之间的区别。 我们创建的每一个函数都会有一个原型(prototype)属性,这个属性是一个指针,指向函数的原型(prototype)对象。使用原型对象可以让构造函数的实例对象共享原型对象包 ...
分类:
编程语言 时间:
2018-12-31 22:42:21
阅读次数:
212
在学习Mobx时接触到了有原型对象和没原型的对象概念 声明一个对象 以上三种方法创建的对象都是有原型及原型链的 #### 使用create() #### 字面量方式 对象的构造函数如下 对象的显示原型 没有原型和构造函数的对象, 注意Object(null)是有原型和原型链的 该对象的隐式原型和构造 ...
分类:
其他好文 时间:
2018-12-31 17:22:33
阅读次数:
190
ES6 实现了类的概念 ES5使用函数模拟 ES6中的 class定义一个类, 其内部包含 构造函数, 除了在构造函数显示的定义一些属性, 其余的默认都添加到这个类的原型对象上。 在一个类中定义一个读取名字的函数: 如果我们把 sayName 这个函数拿出来运行会是什么结果呢? 继以上代码 以上报错 ...
分类:
其他好文 时间:
2018-12-28 22:54:04
阅读次数:
283