我可以在Object.defineProperty(Object.prototype)挂钩上缓存值吗?

时间:2018-06-24 14:44:19

标签: javascript hook userscripts

我正在使用浏览器用户脚本,但是它在内部使用React和Webpack。 但是我想获得一个组件的道具,所以我提出了这个想法:

let value
Object.defineProperty(Object.prototype,'props',{
    set: v=>{
        console.log(v)
        value=v
    },
    get: ()=>value
})

但是它不适用于多个对象:

let a={}
let b={}
a.props='hello' //console.log('hello')
console.log(b.props) //hello

那么有没有办法知道哪个对象触发了钩子? 我想将其缓存在对象中。

0 个答案:

没有答案