class Login1 { createout() { //这个函数的返回值就是一个div标签 var odiv = document.createElement('div'); odiv.innerHTML = '我是一个登录框' document.body.appendChild(odiv); //把这个div加进去 odiv.style.display = 'none'; //这个登录框默认是不显示的 return odiv } } class Singleton { //这个是在初始化的时候 做一个动态判断 单例模式 constructor(name) { if (Singleton.aaa) { //有属性? 那么就返回这个属性 实际上后面再进来 返回的永远都是第一次进来的属性 return Singleton.aaa; } Singleton.aaa = this; //第一次进来没有属性 你就等于我们this this.name = name // 即当前正在创建的实例 赋值给 Singleton.aaa。 } } var l11 = new Login1(); // var s11 = new Singleton(l11.createout()); // var s2= new Singleton('222'); // console.log(s1===s2); //true 这里注释的是 测试我们创建2个实例对象 时候相等 验证单例模式时候成功 var btn = document.getElementById('btn'); btn.onclick = function () { // console.log('点击了一下'); //测试点击事件有无触发 var s11 = new Singleton(l11.createout()); //无论这个声明丢在哪里 他的对象s11永远只会生成一次 s11.name.style.display = 'block'; }
以上是用另外一种思路实现的 ,再类的初始化阶段 创建一个单例模式
主要是课堂这段话 闭包+判断每太能完全明白
return result || (result = fn.apply(this, arguments))
return
result || (result = fn.apply(
this
, arguments))
这个代码是什么意思
老师这个
let UserFactory = function (role) { if (this instanceof UserFactory) { var s = new this[role](); return s; } else { return new UserFactory(role); }}
中的
else { return new UserFactory(role);
是指创建的如果不是
SuperAdmin
Admin
NormalUser
中的一个就会就会new一个
UserFactory(role);
对象吗?else后没有理解呢
老师这一句:var s = new this[role]();
var
s =
new
[role]();
没看懂,我能明白的是这样写的意思var s = new this(role);
(role);
但前面那种写法没看明白,看到之前有人问,但回复的内容我也还是没看懂
这条语句的含义是什么?有了临时图片等待真正图片加载完毕显示不就行了吗?
老师,我想问下在2分56秒处,写了以下一个函数,但是感觉这个函数没有起到什么作用呢,而且里面有一句
var s = new this[role]();
这个是什么意思呢?
let UseFactory = function(role){ if(this instanceof UseFactory){ var s = new this[role](); return s; }else{ return new UseFactory(role); } }
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637