【问题标题】:Javascript custom index accessorJavascript 自定义索引访问器
【发布时间】:2012-06-09 23:18:42
【问题描述】:

在 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

我希望 this.labels[n] 做类似的事情

function(n){return {text: "label for " + n};}

这在 javascript 语言的范围内是否可行?

【问题讨论】:

    标签: javascript arrays json


    【解决方案1】:

    您可以在最新的 Chrome 中获取 es6 proxies 并像在 C# 中一样编写处理程序,但它与旧版浏览器不兼容。

    同时我建议将getLabel() 方法放在Thingy.prototype 上。

    【讨论】:

      猜你喜欢
      • 2010-11-30
      • 2018-02-05
      • 2011-10-13
      • 2015-06-25
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多