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设计模式的主要内容,如果未能解决你的问题,请参考以下文章