为什么这样写不行呢? 还是报false
var Person = (function() {
// 此处填写代码
var instance = null;
if(instance){
return instance;
}
return function() {
// 此处填写代码
this.name = 'zhangsan';
this.id = Math.random();
return instance = this;
}
})();
var Person1 = new Person();
var Person2 = new Person();
console.log(Person1 == Person2);正在回答 回答被采纳积分+1
var Person = (function() {
var instance = null; //(instance=null)==>false
return function() {
if (instance) { //如果instance为true,也就是被赋值了,就直接返回instance
return instance;
}
//上面的if判断结果为false才会执行下面的代码
// 添加对象属性;
this.name = 'zhangsan';
this.id = Math.random();
return instance = this; //匿名对象this赋值给instance,返回instance
}
})();
var Person1 = new Person(); //例化对象
var Person2 = new Person; //
console.log(Person1);
console.log(Person2);
console.log(Person1 == Person2);
一:判断的位置的问题:
你再运行下这段代码,我加了注释
二:关于new Person()和new Person的问题:
我也有点晕,
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星