是否可以获得对“”的setter函数的引用;setter”;
Is it possible to get a reference to the setter function of a "setter"?
例如,在这个代码中,
var o = {
set a(value) {this.b = value},
get a() {return this.b}
}
是否可以获得对o.a
的setter函数的引用,以便如果该引用被分配给f
,那么我可以执行f.call(other, value)
在另一个对象上使用它?
给定您的示例对象:
var o = {
set a(value) {this.b = value},
get a() {return this.b}
}
您可以像这样使用Object.getOwnPropertyDescriptor:
var setter = Object.getOwnPropertyDescriptor(o, "a").set;
var getter = Object.getOwnPropertyDescriptor(o, "a").get;
var other = {};
setter.call(other, 123);
最后一条语句将设置对象"other"的值123。它不会影响对象"o"上的值。
您还可以使用getter从其他人那里获取值。
var result = getter.call(other);
Try Object.getOwnPropertyDescriptor。它将返回一个带有getter和setter方法的对象。
相关文章:
- 引用对象中的通用值
- 如何在JavaScript中将字符串转换为函数引用
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 在动态创建的元素上获取对特定选择器的引用
- IIFE中的函数引用不可用
- 如何通过引用var Using DataTables来进行分页或排序
- 如何在创建键时引用来自同一对象的键
- Datatables:通过DOM数据源中的名称引用列
- 自引用回调
- 引用类变量中的原型方法
- 无法获取属性'selectedIndex'的未定义引用或null引用
- Vanilla JS通过引用移除数组元素
- 通过引用传递JavaScript对象
- "实例范围”;TypeScript类的getter/setter
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- "“;变量未引用正确的对象
- 获取对使用Tampermonkey使用javascript创建的元素的引用
- 引用属性而不是 getter 和 setter
- 是否可以获得对“”的setter函数的引用;setter”;
- Getter/Setter或直接引用