🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
其实本不打算写设计模式的文章 一来觉得自己没有足够的实力来写好设计模式,二来觉得这个包含了很多内容有很多自己也没有实际用到过,光说不练假把式怕自己变成ppt工程师T.T 但是查找了很多资料,也确确实实理解了,但是怕自己记不住哇,毕竟我金鱼的记忆力,所以还是决定把这些内容记录写下来,好记性不如烂笔头,也方便自己日后查阅。 正文: 其实“设计模式”这个词看起来高大上,检索一下可以得到模式其实已经验证了的解决方案,容易被复用,富有表达力的名称 “设计模式是解决软件设计常见问题的可复用方案” ——-《JavaScript设计模式》 说这么多,别怕,就像之前文章中把“路由”解释为“找路”一样,模式就是“套路”啦,相信我,认真看完这篇文章,你会对这些经典的设计模式都有所掌握。 #### 反模式 在开始设计模式之前提一下反模式,,从名字来看就是知道了,就是和好的模式反着来的,知道了一些反模式,当然就可以避开这个坑。 比如: 1. 定义大量全局变量,造成命名污染 2. 修改Object类的原型 3. 使用document.write创建页面 (文档在加载的过程中实际上就是一边加载一边用document.write写出内容到屏幕上,而一旦加载完成这个写入流就会被关闭。此时如果你再调用document.write往网页上写入内容的话他会先把已经写入的内容全部清空然后再重新打开写入流用以写入你写入的内容。 通俗来讲就是一旦网页加载完成你再调用document.write那么原有的网页内容都将消失不见最后只剩下你调用该函数写入的内容。) 4. 写死功能,数值等 5. 向setTimeout传递字符串(会导致内部触发 eval() 的使用。eval() 方法会造成性能问题和可能会引起安全性的问题。) 6. ..... 反正呢,就是反人类的模式,哈哈哈,所以开发的时候要避雷 #### 单例模式 待续,先去吃饭。