gpt4 book ai didi

javascript - javascript中动态属性的 setter

转载 作者:数据小太阳 更新时间:2023-10-29 04:15:48 25 4
gpt4 key购买 nike

我想知道是否可以在 Javascript 中为动态属性设置一个 setter ?

所以这样:

var myobj = new MyObj();

myobj.a_custom_prop = 'something';

将调用一个能够检索“a_custom_prop”和“某物”的函数

明确地说,我想要一个类似于以下的函数:

MyObj.property.define = function (prop, value) { };

这样调用:

myobj.prop = value;

代替:

myobj.define('prop', value);

知道属性的名称相对于myobj不是静态的,否则我会使用:

Object.defineProperty(MyObj.prototype, 'a_custom_prop', {
set: function (value) { /*...*/ }
});

最佳答案

您想要的类似于 Ruby 中的 method missing,您可以在其中定义一个函数来处理对未定义方法的调用。

您可以在这里阅读:Does Javascript have something like Ruby's method_missing feature?JavaScript 还没有类似的东西,但是有一个针对 ES6 的提议: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy

关于javascript - javascript中动态属性的 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29965105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com