我基本上试图在JavaScript中创建一个通用对象,我可以使用它来充当联合数组。
但我想给这个对象一些自定义成员能够对给定对象进行操作。针头说我失败了,希望有人能指引我走向正确的方向。在javascript中使用私有成员函数的对象操作
这是我谈论的通用对象。
function easeArray() {
this.valIndex = function(searchTerm,object) {
//searchTerm+object;
if (searchTerm in object) {
return "true" + object[searchTerm]
}
}
}
那么我试着像这样初始化它。
var myCollection = new easeArray();
myCollection = {"dioxanes": 0, "shunning": 1, "plowed": 2,
"hoodlumism": 3, "cull": 4, "learnings": 5,
"transmutes": 6, "cornels": 7, "undergrowths": 8,
"hobble": 9, "peplumed": 10, "fluffily": 11,
"leadoff": 12, "dilemmas": 13, "firers": 14,
"farmworks": 15, "anterior": 16, "flagpole": 17};
这工作得很好,但是当我尝试做这样的事情:
alert(myCollection.valIndex())
我得到一个错误。 类型错误:对象不支持属性或方法。
没关系,我没有将值传递给函数我明白,函数甚至不承认。
我的最终结果是有一个通用的对象,我可以初始化和键值对填满,然后简单地说object.valindex("searchTerm");
任何帮助将不胜感激。
您的重新分配所述MyCollection的变量为不同的值 - 使用方法/构造将值传递 – ManseUK 2012-02-03 12:05:38
“填充”该对象的数据将没问题,但正如ManseUK所说,你不会向myCollection添加任何东西,你会用新的值重写它。如果我有一个数组'a = [1,2]',那么'a = 3'不会给数组添加'3',它只是将'a'设置为指向'3'而不是数组。这是基本的变量分配。我也不明白这与“私人成员”有什么关系(反正JS中不存在)。 – 2012-02-03 12:09:56