雖然還很粗糙坪哄,比如制作的api很簡(jiǎn)陋质蕉,不過(guò)也總算是弄讀懂了如何封裝樓!t婕 D0怠!念祭!
var a = {
name: 'h',
age: '18'
}
function test() {
this.arr = []
this.watch = function (prop, fn) {
this.arr.push(fn)
var that =this
Object.defineProperty(a, prop, {
get:function () {
console.log('取到了')
},
set:function (value) {
console.log('執(zhí)行了')
that.arr[0]()
}
})
}
}
Object.defineProperty(a, 'prop', {
get:function () {
console.log('取到了')
},
set:function (value) {
this.arr[0]()
}
})
var watcher = new test()
watcher.watch('name', function () {
console.log('被我監(jiān)聽(tīng)到了')
})
a.name = 'hhh'
很多時(shí)候看別人的代碼真的非常難讀兑宇,好難讀,還是自己些比較簡(jiǎn)單粱坤,前提是自己有思路