JavaScript设计模式(biaoyansu)(2)

单例模式实例 (创建类模式):

let elBalance = document.getElementById('balance')

function init () {
var a = new Division('.page.a')
var b = new Dicision('.page.b')
}

function renderBalance(){
var resource = new Resource()
elBalance.innerText = resource.balance
}

function Division (selector) {

var resource = new Resource()

this.el = document.querySelector(selector)
this.elAdd = this.el.querySelector('.add')
this.elAdd = this.el.querySelector('.sub')
this.elInput = this.el.querySelector('input')
let me = this

this.elAdd.addEventListener('click', function () {
resource.add(me.elInput.value)
me.elInput.value = ''
renderBalance()
})

this.elSub.addEventListener('click', function () {
resource.sub(me.elInput.value)
renderBalance()
})
}

function Resource () {
if (Resource.instance) {
return Resource.instance
}
else {
this.balance = 100
Resource.instance = this
}
}

Resource.prototype.add = function (num) {
this.change(num)
}

Resource.prototype.sub = function (num) {
this.change(-num)
}

Resource.prototype.change = function () {
if (!num) return
this.balance += parseFloat(num)
}
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/eret9616/p/9788884.html
今日推荐