JavaScript自定义索引访问器

10
在C#中,您可以像这样创建自定义索引器:
public object this[string name]
    {

    }

我正在使用一个JavaScript小部件库,其中一个小部件将以名为标签的属性作为对象数组进行传递,如下所示

new  Thingy({
      labels: [{value:1, text:"my label"},[{value:2, text:"my next label"}]
      });

问题在于你必须提前规划,才能知道哪些值需要标签。例如,在上面的例子中,我知道标签将用于值1和2。但是如果我不知道可能的值,我希望能够根据它试图访问的值动态创建文本。
因此,当库内部尝试访问时:
this.labels[n].text

我希望这个.labels[n]能够执行某些操作,例如:
function(n){return {text: "label for " + n};}

在JavaScript语言的范围内,这是否可能实现?
1个回答

1

你可以在最新的Chrome浏览器中使用es6代理,并编写类似于C#的处理程序,但它不兼容旧版浏览器。

同时,我建议在Thingy.prototype上放置一个getLabel()方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接