我试图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