, referans olması sizi başka nesne üzerinde kullanmak sonra f.call(other, value)
yapabilirsiniz f
atamak o o.a
için o ayarlayıcı işlevine bir başvuru almak mümkün mü?Bir "ayarlayıcının" ayarlayıcı fonksiyonuna bir referans almak mümkün mü? Bu kodun</p> <pre><code>var o = { set a(value) {this.b = value}, get a() {return this.b} } </code></pre> <p>Örneğin
5
A
cevap
8
sizin örneğe göre nesne:
var o = {
set a(value) {this.b = value},
get a() {return this.b}
}
Böyle Object.getOwnPropertyDescriptor kullanabilirsiniz: Geçen deyimi nesnesi "öteki" konulu değerini 123 ayarlayacaktır
var setter = Object.getOwnPropertyDescriptor(o, "a").set;
var getter = Object.getOwnPropertyDescriptor(o, "a").get;
var other = {};
setter.call(other, 123);
O. "O" nesnesindeki değeri etkilemez.
Değeri getter kullanarak diğerlerinden de alabilirsiniz.
var result = getter.call(other);
1
Object.getOwnPropertyDescriptor'u deneyin. Bir nesneyi getter ve ayarlayıcı yöntemleri ile döndürür.