new 关键字
new 关键字
为什么需要 new?
通过 new 创建的 对象 和 构造函数 之间建立了一条原型链,原型链的建立,让原本孤立的对象有了依赖关系和继承能力,让 JavaScript 对象能以更合适的方式来映射真实世界里的对象,这是面向对象的本质。
构造函数
定义:
需要用 new 关键字来调用的函数
为什么用:
在使用对象字面量创建一系列同一类型的对象时,这些对象可能具有一些相似的特征(属性)和行为(方法),此时会产生很多重复的代码,而使用构造函数就可以实现代码的复用。
e.g.
function Animal(color) {
this.color = color;
}执行过程
MDN definition:
创建一个空的简单 JavaScript 对象(即{});
链接该对象(即设置该对象的构造函数)到另一个对象 ;
将步骤 1 新创建的对象作为 this 的上下文 ;
如果该函数没有返回对象,则返回 this。
当我们执行
var a = new A()/new A的时候:var o = new Object();o.__proto__ = A.prototype;A.call(o)//由于这里this是指向 o,可以把什么this.name/getName绑定到 o 上.把这个 o 返回给 a; //完成
var a = new A()的过程.
Last updated
Was this helpful?