1
我幾乎是javascript編程的新手,我真的需要一些幫助/建議。保存javascript關閉函數中的變量
我所試圖做的事: 我有一個函數(或對象?!),它看起來是這樣的:
var svgInteraction = function (containerId) {
var svgNamespace = "http://www.w3.org/2000/svg",
htmlns = "http://www.w3.org/1999/xhtml",
mathns = "http://www.w3.org/1998/Math/MathML";
svgInteractions = {};
svgInteractions[containerId] = "I am " + containerId;
console.log(svgInteractions);
return function() {
console.log(svgInteractions);
}
};
我初始化這樣一個變量:
var svg1 = svgInteraction("container_1");
var svg2 = svgInteraction("container_2");
問題就是說,對於svgInteraction的每次初始化,svgInteractions對象都將重新初始化。
它輸出:
Object { container_1="I am container_1"}
Object { container_2="I am container_2"}
有什麼辦法讓裏面的舊值?
謝謝
我沒有想過那個關閉技巧。太好了! –
謝謝。 所有的實現代碼應該在返回函數裏面嗎?它就像一個init()? 另一個問題: 如何爲每次初始化保存獨立變量/函數?例如,我想要根據容器執行不同的「點擊」功能。 我正在考慮像 'svgInteractions [containerId] .clickfunction = function(){...}' –
@GavanCatalin是的,你是對的。任何你想要在每個調用中被初始化的東西都應該在函數體中。 – alex