本篇对一些知识点查漏补缺
# 一、创建对象和原型链
# 1 面向对象的三大特性
- 封装
- 继承
- 多态
# 1.1 原型链的知识
原型链是面向对象的基础,是非常重要的部分。有以下几种知识:
- 创建对象有几种方法
- 原型、构造函数、实例、原型链
instanceof的原理new运算符
# 2 创建对象有几种方法
# 2.1 方式一:字面量
var obj11 = {name: 'smyh'};
var obj12 = new Object(name: `smyh`); //内置对象(内置的构造函数)
@前端进阶之旅: 代码已经复制到剪贴板
上面的两种写法,效果是一样的。因为,第一种写法,
obj11会指向Object。
- 第一种写法是:字面量的方式。
- 第二种写法是:内置的构造函数
# 2.2 方式二:通过构造函数
var M = function (name) {
this.name = name;
}
var obj3 = new M('smyhvae');
@前端进阶之旅: 代码已经复制到剪贴板
# 2.3 方法三:Object.create
var p = {name:'poetry'};
var obj3 = Object.create(p); //此方法创建的对象,是用原型链连接的
@前端进阶之旅: 代码已经复制到剪贴板
第三种方法,很少有人能说出来。这种方式里,
obj3是实例,p是obj3的原型(name是p原型里的属性),构造函数是Object。

# 3 原型、构造函数、实例,以及原型链

PS:任何一个函数,如果在前面加了
new,那就是构造函数。
