JS设计模式

Posted yingmhd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS设计模式相关的知识,希望对你有一定的参考价值。

Module模式

    var timer = (function(){
        let count = 0 // 私有变量
        return {
            add() {
                count++
            },
            getCount() {
                return count
            }
        }
    })()
    timer.add()
    console.log(timer.getCount())
优点:因为闭包原理,实现了私有变量

字面量模式

let baseEvent = {
    el: document.querySelector(\'#btn\'),
    init() {
        this.el.innerhtml = \'按钮\'
    }
}
baseEvent.init()
优点: 一个字:看起来高级

constructor模式

function Car(name) {
    this.name = name
    this.alert = function() {
        console.log(this.name)
    }
}
let car = new Car(\'audi\')
car.alert()

跟“工厂模式”一样,缺点是alert每次都得初始化,而且没法继承
优化:

function Car(name) {
    this.name = name
}
Car.prototype.alert = function() {
   console.log(this.name) 
}
let car = new Car(\'audi\')
car.alert() // audi
// 覆盖
car.alert = function() {
    console.log(this.name + \'!!!\')
}
car.alert() // audi!!!

以上是关于JS设计模式的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

js代码片段: utils/lcoalStorage/cookie

JS代码片段:一个日期离现在多久了

js常用代码片段(更新中)

js常用代码片段