当前位置: 首页 > news >正文

做机械设计图纸找什么网站?网站建设关键词排名

做机械设计图纸找什么网站?,网站建设关键词排名,做搜狗手机网站优,新吴区建设局网站桥接模式 通过桥接模式,我们可以将业务逻辑与元素的事件解耦,也可以更灵活的创建一些对象 倘若我们有如下代码 const dom document.getElementById(#test)// 鼠标移入移出事件 // 鼠标移入时改变背景色和字体颜色 dom.onmouseenter function() { th…

桥接模式

通过桥接模式,我们可以将业务逻辑与元素的事件解耦,也可以更灵活的创建一些对象

倘若我们有如下代码

const dom = document.getElementById('#test')// 鼠标移入移出事件
// 鼠标移入时改变背景色和字体颜色
dom.onmouseenter = function() { this.style.color = 'white'this.style.backgroundColor = 'black'
}// 鼠标移出时恢复背景色和字体颜色
dom.onmouseleave = function () {this.style.color = 'black'this.style.backgroundColor = 'white'
}

这里我们不难看出有部分代码是重复的,只是改变了字体颜色跟背景色,这耦合度就高起来了,我们可以是这样

const changeColor = (dom, color, val)=>{dom.style[color] = val
}
const dom = document.getElementById('#test')
dom.onmouseenter = function () {changeColor(this, 'color', 'white')changeColor(this, 'backgroundColor', 'black')
}
dom.onmouseleave = function () {changeColor(this, 'color', 'black')changeColor(this, 'backgroundColor', 'white')
}

继续优化

const changeColor = (dom, color, val)=>{dom.style[color] = val
}
const changeColorAndBgColor = (dom, color, bgColor)=>{changeColor(dom, 'color', color)changeColor(dom, 'backgroundColor', bgColor)
}
const dom = document.getElementById('#test')
dom.onmouseenter = function () {changeColorAndBgColor(this, 'white', 'black')
}
dom.onmouseleave = function () {changeColor(this, 'black', 'white')
}

多元化

在使用不同角色有相同公用的方法时可以使用这种多元化来处理

const Speed = (x, y) => {this.x = xthis.y = y
}
Speed.prototype.run = function () { console.log('first run')
}
// TODO:其他内容
const Color = color => {this.color = color
}
Color.prototype.draw = function () {console.log('first draw')
}
// TODO:其他内容
const Speak = word => {this.word = word
}
Speak.prototype.say = function () {console.log('first say')
}
// TODO:其他内容// 创建一个 球
const Ball = function (x, y, color) {this.speed = new Speed(x, y)this.color = new Color(color)
}
Ball.prototype.init = function () {this.speed.run()this.color.draw()
}// 创建一个人
const People = function (x, y, say) {this.speed = new Speed(x, y)this.speak = new Speak(say)
}
People.prototype.init = function () {this.speed.run()this.speak.say()
}
...

通过桥接灵活的创建一个对象,针对不同的对象处理不同的业务逻辑,更灵活处理差异

http://www.mmbaike.com/news/66897.html

相关文章:

  • 网站推广系统设计友情链接互换
  • 网站和公众号的区别seo学徒是做什么
  • 广州网站建设方案河南网站推广公司
  • wordpress设置新窗口打开链接入门seo技术教程
  • 做八闽最好的中学网站网站建设工作总结
  • 网站开发工程师的工作描述能翻到国外的浏览器
  • 诸城盟族网站建设八种营销模式
  • 免费做店招的网站精准获客
  • 做内贸的什么网站效果好seo优化教程自学网
  • 任丘网站建设公司四川聚顺成网络科技有限公司
  • 网站服务器租用价格一般多少钱?怎样建立一个网络销售平台
  • 平面设计的网站有哪些b站视频推广网站动漫
  • flash网站免费源码带后台百度安全中心
  • 国内免费推广网站企业网站制作方案
  • 微网站建设是什么附近的教育培训机构有哪些
  • 北京做网站公司 seo郑州seo线下培训
  • nas 建网站windows优化大师是系统软件吗
  • 趣php网站开发实战代码推广项目网站
  • 企业网站建设 建立作用鞍山seo优化
  • 网上挣钱正规渠道连云港seo优化公司
  • 服务周到的做网站网络软文推广平台
  • 如何在百度做网站洗发水营销推广软文800字
  • 怎么切图做网站搜易网服务内容
  • 网站建设优化广告流量厦门seo俱乐部
  • 租一个国外的服务器 建设网站百度官方网站下载
  • 网门网站下载地址一天赚2000加微信
  • 青岛网站建设优化国内推广平台
  • 一个人做网站 优帮云网络推广费用高吗
  • 一个企业做网站的目的企业营销网站制作
  • android移动网站开发详解光盘下载seo自学网官网