2011-03-15 103 views
1

(我不能相信这是不可能的,但我可能没有使用正确的搜索字词)索引属性

我有一个这样的“类”:

function MyClass() = { 
    this.getItem = function(key) { 
     // return whatever; 
    }; 
    this.setItem = function(key, val) { 
     // set whatever 
    }; 
}; 

是否有某种方式可以通过(我认为称为)索引属性获取/设置?

var test = new MyClass(); 
test["key"] = "value"; 
alert(test["key"]); 

(背景下,如果这有什么差别,我想换的localStorage中增加了一个前缀,所有键的一类。包装setItem /的getItem是容易的。我只是想进一步和包裹走[]功能)

+1

我不知道这是可行的,但是,你可能会“扩展” Array对象,并添加这些方法到您的自定义对象。 – 2011-03-15 10:51:56

回答

1

您在JavaScript中没有这种自动访问器。至少我从来没有见过它。

你可以使用

var test = new MyClass(); 
test.key = "value"; 
alert(test.key); 

alert(test["key"]); 

但是,这也许不是你以后......

1

如MDC(link)所描述的情况,可以这在JavaScript 1.8.5。不过对此的支持很差,大多只在Firefox中支持。除此之外,没有真正的方法来做到这一点。