我試圖p的值傳遞給報警功能 - 不幸的是,在它只是出來作爲未定義的時刻。我認爲這個問題是因爲當這個函數被調用時p不存在了。我將如何通過p該功能,並使其保留的價值?傳遞一個變量的函數(範圍問題)
function B(p,u) {
var foo = {};
foo[u] = function(p) {
alert('visit internal page '+p);
};
$.router(foo);
}
B("about", "!/about");
奇妙的是,這比我預期的要容易!不知道爲什麼這樣做,但我必須做一些研究。感謝你的回答! – RichW 2010-11-21 11:02:47
@RichW - 可以使用父範圍中的任何變量,但是必須指定任何*級別的函數上的任何參數,所以當你有'function(p)'時,只需通過'foo [u ]()',它將會是'undefined' ...因爲你沒有傳遞任何參數,但是通過將它關閉,它可能使用的唯一的'p'就是父範圍中的那個......這樣做更有意義嗎? – 2010-11-21 11:08:33
現在感覺非常完美,謝謝Nick!不幸的是,這些問題之一似乎很難在Google上進行研究,因爲您不知道該鍵入什麼內容! – RichW 2010-11-21 11:12:14