javascript中的索引属性
(我不敢相信这是不可能的,但我可能没有使用正确的搜索词) 我有一个这样的“类”:javascript中的索引属性,javascript,syntax,Javascript,Syntax,(我不敢相信这是不可能的,但我可能没有使用正确的搜索词) 我有一个这样的“类”: function MyClass() = { this.getItem = function(key) { // return whatever; }; this.setItem = function(key, val) { // set whatever }; }; 是否有某种方法可以通过(我认为是所谓的)索引属性获取/设置 var test =
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很容易。我只想更进一步,封装[]功能)JavaScript中没有这样的自动访问器。至少我从未见过它 你可以用
var test = new MyClass();
test.key = "value";
alert(test.key);
及
但那可能不是你想要的 如MDC()中所述,可以在Javascript 1.8.5中实现这一点。然而,对这一点的支持很差,而且大多只在firefox中提供。除此之外,没有真正的方法可以做到这一点。听起来您正在寻找getter和setter,您可以在这里阅读更多关于getter和setter的内容: 请注意,并非所有浏览器都支持此语法 您可以在此处阅读有关getter和setter的更多信息:
我不知道这是否可行,但您可以“扩展”数组对象,并将这些方法添加到自定义对象中。
alert(test["key"]);