jQuery:基础知识 - 可变范围问题

1 variables jquery scope

我已经在大约一个小时左右的时间里试图收集jscript/jquery中关于变量范围的任何内容,并且据我所知,我的代码应该可行.现在我只想从函数中读取全局变量.我的代码不起作用,现在它非常基本.最终我需要操纵全局变量,但这里一步一步:

var fooBar;
fooBar = "blah";

$('.var').click(function (fooBar) {
    alert(fooBar);
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<span class="var">(Button Test)</span>

它在警告框中返回[Object object].我真的希望它会让Blah回归我.我知道这是一个非常基本的问题,但我发现的所有例子都非常复杂,而且我很难把它归结为我需要的基本部分.任何帮助是极大的赞赏.

Nic*_*ver 5

您需要将其作为参数删除,如下所示:

var fooBar;
fooBar = "blah";

$('.var').click(function () {
    alert(fooBar);
});
Run Code Online (Sandbox Code Playgroud)

你看到的原因[Object object]是传递给函数的第一个参数(以及jQuery中的任何其他事件处理程序)是jQuery event对象,并且该参数被命名为相同意味着你的函数内部fooBar引用它,因为它更本地.你的变量在里面是可用的,它只是被一个更本地的版本所覆盖,因为使用了相同的名称...像我上面那样删除它,你将全部设置.