2011-03-15 105 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中支持。除此之外,沒有真正的方法來做到這一點。