首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
JavaScript设计模式
前端少年
创建于2021-07-12
订阅专栏
《JavaScript设计模式》读书整理,部分代码总结 内容以书为主
暂无订阅
共23篇文章
创建于2021-07-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
28.委托模式
``` // 经典的循环绑定ul-li事件 对于新增的li标签也能绑定事件 ul.onclick = function(e) { var e = e || window.event, tar = e.
27.链模式
``` // var A = function() {} // A.prototype = { // length: 2, // size: function() { // return this.l
26. 解释器模式
``` 1 2 6 7 ``` ``` function getSublings(node) { if(node.previousSibling) { var name = '', count = 1
25.迭代器模式
``` var Iterator = function(items, container) { var container = contaner || document.getElementById(
24.备忘录模式
``` var cache = (function() { var _cache = {} return function(data, fun) { if(_cache[data]) { // 如果缓
23.中介模式
``` var Mediator = (function() { var _msg = {} return { register: function(type, fun) { if(_msg[type
22.访问者模式
``` var bindEvent = function(dom, type, fn) { if(dom.addEventListener) { dom.addEventListener(type,
21.命令模式
``` var Command = (function() { var template = { product: [' ', '', ' {#text#} ', ' '].join(''), tit
20.责任链模式
``` /* 对于一个表单验证的功能、如果当前表单需求未能确认后续会添加完善, 这时需要对验证功能进行分析,分解解耦成单个的动作 */ function getData(data, dealType,
19.策略模式
``` //策略模式 内部变量存放所有策略方法,通过暴露的方法进行调用 var Strategy = (function () { var method = { m1 : function(param
18.状态模式
``` var States = { state0 : function(){ console.log(0) }, state1 : function() { console.log(1) }, st
17.观察者模式
``` var Observe = (function() { var _message = {} return { regist: function(type, fn) { if(typeof _m
16.模板模式
``` function Alert(data) { if(!data) { this.data = '' } this.container = document.createElement('div
15.享元模式
``` // var Flyweight = function() { // var created = [] // function create() { // var dom = document
14.组合模式
``` var News = function() { this.children = [] this.element = null } News.prototype = { init: functi
13.桥接模式
``` function Color(clr) { this.clr = clr } Color.prototype.draw = function() { console.log('draw',th
12.装饰者模式
``` function decorator(dom, type, fn) { if(typeof dom[type] == 'funtion') { let oldMethods = dom[typ
11.代码模式
``` // let obj = { // name: '', // age: '', // date: '', // price: 123, // size: '', // count: '', /
10.适配模式
``` // let name = 'gh' // let obj = { price:1, count: 10} function fn(name = 'guohua', obj={ price:0
9.外观模式
``` // 对于DOM 0级绑定的事件下面的方法会被覆盖 不利于代码的维护和开发 document.onclick = function() { // } // 当然我们可以用addEventlis
下一页