猿问

js中单例模式疑惑

以下代码

点击查看原文

问题:

new Universe()的过程是:

var o = {};

Universe.call(o);//这一步是将Universe中this对应的属性赋值给o;

o.__proto__ = Universe.prototype;//将Universe原型上的方法赋值到o的__proto__属性上;

那么 var instance = this;中,this是不是指的是不同的对象o?那么重写构造函数后,返回的instance不就是不同的对象吗?为什么最后能相等

慕的地8271018
浏览 502回答 1
1回答

慕田峪4524236

因为重写了构造函数后, 返回一个对象, 这个对象会覆盖你 用new 构造函数生成的那个对象,不知道我有没有说清楚
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答