随笔分类 -  js设计模式

摘要:桥接模式 有一个需求,要对一个组件实现鼠标滑过特效,但组件内部有很多元素,每个元素滑过的特效可能有一定的共同点,此时我们可以将共同点抽象出来 例: function changeColor(dom, color, bg){ dom.style.color = color dom.style.back 阅读全文
posted @ 2021-12-03 14:21 邢韬 阅读(51) 评论(0) 推荐(0) 编辑
摘要:装饰者模式 当有很多元素,原有功能不能满足需求,需要添砖加瓦,可以采用装饰者模式 比如修改一个表单内所有input框的点击事件,为了不破坏原有onclick事件,同时添加新的onclick事件,需要先找到原来的功能部分,然后针对性的去修改或添加事件,为了避免麻烦,可以写一个装饰者去简化 const 阅读全文
posted @ 2021-12-03 12:25 邢韬 阅读(25) 评论(0) 推荐(0) 编辑
摘要:如下方法,由于参数太多,导致使用很麻烦,顺序也难以记忆 function doSomeThing(name, title, age, color, size, prize){} 所以我们可以采用对象的方式配置参数 /* name: name title: title age: age color: 阅读全文
posted @ 2021-12-02 22:15 邢韬 阅读(24) 评论(0) 推荐(0) 编辑
摘要:创建无法修改的静态变量 通过暴露一个取值器让外界可以访问到,但无法修改 const Conf = (function () { // 私有变量 const conf= { // 静态变量尽量大写 "MAX_NUM": 100, "MIN_NUM": 1, "COUNT": 1000 } return 阅读全文
posted @ 2021-12-02 20:52 邢韬 阅读(24) 评论(0) 推荐(0) 编辑
摘要:建造者模式 建造者模式主要是将构建层与表示层分离,一种模块化的思想,使单个模块可以高效灵活的复用,但这种拆分同样增加了一定复杂度 实例:招聘简历 创建一个人类的类 const Human = function(param){ this.skill = param && param.skill || 阅读全文
posted @ 2021-12-02 13:30 邢韬 阅读(36) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式,又叫静态工厂模式,由一个工厂创建某一种对象的实例,主要用来创建同一种对象 对不同类的实例化 有一个需求,要创建登录提示框,登录的确认框,登录成功的提示框,因为逻辑不完全相同,所以我们写成三个类 const LoginAlter = function (text) { this.cont 阅读全文
posted @ 2021-12-01 21:14 邢韬 阅读(30) 评论(0) 推荐(0) 编辑
摘要:JavaScript中是可以实现多态的 很好理解,直接上代码 function Add() { let args = arguments let len = args.length switch(len){ case 0: return 10 case 1: return 10 + args[0] 阅读全文
posted @ 2021-11-29 20:10 邢韬 阅读(35) 评论(0) 推荐(0) 编辑
摘要:类式继承 // 声明父类 function SuperClass() { this.superValue = true } // 为父类添加共有方法 SuperClass.prototype.getSuperValue = function () { return this.superValue } 阅读全文
posted @ 2021-11-29 19:45 邢韬 阅读(37) 评论(0) 推荐(0) 编辑
摘要:我们在创建实例对象是,若忘了new const Book1 = function (title, time, type) { this.title = title this.time = time this.type = type } const book1 = Book1("JavaScript" 阅读全文
posted @ 2021-11-26 22:19 邢韬 阅读(63) 评论(0) 推荐(1) 编辑
摘要:闭包的主要作用就是构建一个单独的作用域,里面的一些变量不会污染全局,又可以满足一些必要操作 比如bookNum,写在外部会污染全局,写在_book里函数中, 静态使用一次又会被销毁, 实例又无法从外部访问 const Book = (function () { // 私有变量 let bookNum 阅读全文
posted @ 2021-11-26 22:13 邢韬 阅读(34) 评论(0) 推荐(0) 编辑
摘要:为了方便使用,防止污染全局变量,可以把一系列功能封装在一个类中使用 const CheckObj1 = function(){ this.checkName = function(){ console.log("checkName") } this.checkEmail = function(){ 阅读全文
posted @ 2021-11-26 22:09 邢韬 阅读(45) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示