2015-02-09 32 views

risposta

8

Dato il tuo esempio oggetto:

var o = { 
    set a(value) {this.b = value}, 
    get a() {return this.b} 
} 

È possibile utilizzare Object.getOwnPropertyDescriptor come questo:

var setter = Object.getOwnPropertyDescriptor(o, "a").set; 
var getter = Object.getOwnPropertyDescriptor(o, "a").get; 

var other = {}; 
setter.call(other, 123); 

Quest'ultima affermazione imposterà il valore di 123 su un oggetto "altro". Non influisce sul valore dell'oggetto "o".

È inoltre possibile ottenere il valore da altri utilizzando il getter.

var result = getter.call(other); 
Problemi correlati