function Universe() {
// 缓存的实例
var instance = this;
// 其它内容
this.start_time = 0;
this.bang = "Big";
// 重写构造函数
Universe = function () {
alert(1)
return instance;
//改成return this,uni2.bang是undefined
};
}
// 测试
var uni = new Universe();
var uni2 = new Universe();
uni.bang = "123";
console.log(uni === uni2); // true
console.log(uni2.bang); // 123
这里new了两次Universe(),只alert了一次1,为什么呢?
然后重写构造函数里,把 return instance;
改成return this
,uni2.bang是undefined,两个有什么区别呢?
梦里花落0921
相关分类