js
大小小丹
欲将得之,必先与之!凡事尽力而为,随心而行,余下随缘~
展开
-
js设计模式六 - 命令模式
命令模式是最常见的应用场景是,当有需要向某些对象发送请求时,并不需要知道请求的接受者是谁,也不需要知道请求的操作是什么。这时候就希望用一种松耦合的方式来设计程序,使得请求的发送者和接受者消除彼此的耦合关系。...原创 2022-06-12 22:52:04 · 125 阅读 · 0 评论 -
js设计模式五 - 发布—订阅模式
发布订阅模式的优点:1.广泛应用于**异步编程**中,这是一种替代传递回调函数的方案。在异步编程中使用发布订阅模式,我们就无需过多关注对象在异步运行期间的内部状态,而只需要订阅感兴趣的事件发生点。例如ZoomSdk的注册以及事件回调都是异步执行的,这时使用发布订阅模式就很好解决这个问题。2.发布订阅模式可以取代对象之间硬编码的通知机制,一个对象不再显式地调用另一个对象的某个接口。发布订阅模式让两个对象松耦合地联系在一起,虽然不太清除批次的细节,但这不影响他们之间互相通讯。当有心得订阅者出现时,发布者的代原创 2022-06-03 16:45:10 · 338 阅读 · 0 评论 -
双向数据绑定原理(Vue)
双向绑定的底层原理就是应用了发布订阅者模式结合数据劫持,通过Object.defineProperty()方法劫持get、set方法, get中Event.addSub() 添加订阅者,set中调用事件Event.notify发布消息。原创 2022-06-03 16:40:10 · 694 阅读 · 0 评论 -
js设计模式二 - 策略模式
oo面向对象编程的三个特征:封装、继承、多态,但编程中的原则是“封装变化”,“多用组合少用继承”,“针对接口编程,不针对实现编程”下面记一下策略模式。先了解下状态模式。// 旧的不好代码 - 维护麻烦,后期维护需要做删减处理if (state === 'SCHEDULE') { // 预约中} else if(state === 'ONLINE') { // 在线} else if(state === 'OFFLINE') { // 离线} else if(state ===原创 2022-05-31 22:26:36 · 211 阅读 · 0 评论 -
vue js state clearInterval 后再启动setInterval 速度加倍bug总结
vue 做H5单页面开发时,经常用到state状态管理,做定时器也是全局的。可能会在不用的页面里面对定时器进行关闭或重启的操作。应用场景:比如预约会议,对会议室进行锁定2分钟的倒计时,加入在选择参会者页面停留,会议室锁定时间到期,弹出提示是否重新锁定,因此在此需要重新开启定时器 或者 清空定时器。定时器的速度加快 是因为 setInterval 和 clearInterval没有一一对应...原创 2019-03-18 15:29:52 · 1871 阅读 · 0 评论 -
nw,js 项目快速打包方式 利用bat脚本
首先在nsis打包环境里面2、Rmeet-package.bat文件里面主要是繁琐的利用nw.exe 打包成xxx.exe的过程(还分调试、正式环境,对应依赖的nw.exe不同)@rem 复制需要压缩的文件cp -rf "..\Project\HuaRun\rmeeting-windows-nwjs" RmeetCode@rem 进入复制文件后的 文件夹 Rmeet 里面cd...原创 2019-07-02 18:00:09 · 773 阅读 · 0 评论 -
mac使用nw.js开发桌面程序 打包方式
参考https://segmentfault.com/a/1190000007564694和https://zhuanlan.zhihu.com/p/200701661、html、css、img等文件全选压缩成app.zip再把zip改成app.nw2、打开mac下载安装nw.js的文件包打开修改nwjs.app改成需要打包成的app名称,如:weixin.app打开we...原创 2019-07-05 16:08:12 · 1697 阅读 · 0 评论