我有一個這樣的對象:的JavaScript:在對象存儲功能,但執行它在本地環境
objectx = {
1: {
name: "first",
loadFunction: function() {
$(target).load("http://stackoverflow.com #question", function() {
// do something else
});
}
},
2: {
name: "second",
loadFunction: function() {
$(target).load("http://stackoverflow.com #answer", function() {
// do something else
});
}
}
}
當我打電話與目標x [1] .loadFunction()的功能,他們不有當地的情況下,所以我將不得不通過一切作爲參數或使我的變量全球。例如:
function doSomething() {
var target; // this variable holds a reference to a DOM object
objectx[1].loadFunction()
}
目標沒有定義
如何執行功能,使他們知道他們是從稱爲上下文的?
這就是我現在這樣做的,但它需要太多的參數,並且使程序的未來更改變得困難。 – user3653087
然後你的程序結構很差,需要改進。具有很多參數的函數也是不好的風格。將這些論點外化爲某種全球狀態並不是解決這個問題的辦法。如果你解釋你實際上*正在嘗試做什麼,我可能會建議改進。 – Tomalak
我在我的網站上有幾個元素。程序隨機選擇一個,根據存儲在對象中的信息查找合適的替換並更改內容。背景(彩色),文本等。然後通過代理獲取外部內容,對其進行格式化並將其放置在元素內的div中。對於抓取和格式化,我使用了這些函數,因爲它們需要針對每個對象都有所不同,因此我將它們與對象一起存儲起來是有意義的。 – user3653087