1、创建对象
创建对象有几种方法:
- 字面量创建
1 2 3
| let obj = { name: "o1", };
|
- object 构造函数创建
1 2 3
| let obj = new Object({ name: "o2", });
|
- 构造函数创建
1 2 3 4
| let Person = function () { this.name = "o3"; }; let obj = new Person();
|
- object 方法创建
1 2 3 4
| let person = { name: "o4", }; let obj = Object.create(person);
|
此方法是 ES6 新出的方法,此方法的好处可以理解为继承一个对象, 添加的属性是在原型下
2、原型、构造函数、实例、原型链
每个函数都有一个 prototype 的属性,每个函数通过 prototype 属性指向的对象,我们就称之为原型对象。
可能比较笼统,对原型也可以这样理解:每一个 JavaScript 对象(null 除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型”继承”属性。
我们可以看看对象的 prototype 到底返回的是什么:
1 2
| function Person() {} Person.prototype;
|