var o = (function () {
var obj = {a: 1, b: 2}
return function (k) {
return {get: function () {
return obj[k]
}}
}
})()
Object.defineProperty(Object.prototype, 'my_random_key', {
get() {
this.a = 233
}
})
console.log('before', o('a').get()) // 1
o('my_random_key').get()
console.log('after', o('a').get())// 233