我已经在大约一个小时左右的时间里试图收集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回归我.我知道这是一个非常基本的问题,但我发现的所有例子都非常复杂,而且我很难把它归结为我需要的基本部分.任何帮助是极大的赞赏.
您需要将其作为参数删除,如下所示:
var fooBar;
fooBar = "blah";
$('.var').click(function () {
alert(fooBar);
});
Run Code Online (Sandbox Code Playgroud)
你看到的原因[Object object]是传递给函数的第一个参数(以及jQuery中的任何其他事件处理程序)是jQuery event对象,并且该参数被命名为相同意味着你的函数内部fooBar引用它,因为它更本地.你的变量在里面是可用的,它只是被一个更本地的版本所覆盖,因为使用了相同的名称...像我上面那样删除它,你将全部设置.