我基本上試圖在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