简单的变量赋值不起作用

时间:2014-01-17 18:08:15

标签: javascript jquery

我看起来像是一个简单的变量赋值不能正常工作。

此代码在jQuery中,对于上下文,请参阅here

我在打电话:

$('#foo').on('someEvent', eventHandlerFn);

我在jQuery on函数中得到了这个问题。这是起点:

enter image description here

正如您在代码下方的控制台中看到的那样,selector设置为我的eventHandlerFn,而fn变量未定义。这是预期的。

在第3509行,selector的值被归为fn。因此,fn的值应与selector的值相同,不是??

请参阅下文 - selector已按预期定义,但fn仍未定义。为什么呢?

enter image description here

最终结果是我的事件处理程序从未注册过。

3 个答案:

答案 0 :(得分:2)

代码运行良好,如以下两个屏幕所示(问题在于chrome如何将上下文设置到控制台

看起来控制台在定义时可以访问变量(在这种情况下是传递的参数)而不是运行代码时的实时值

交换之前

Before running the line

交换后

After running the line

答案 1 :(得分:1)

我没有看到这个jsFiddle有任何问题。随意编辑jsFiddle,使其看起来更像您的代码。

您可以尝试在3510行之后输入console.log(fn);并重新运行吗?也许这只是调试器的一个问题?

答案 2 :(得分:1)

这似乎是Chrome中调试器的问题 - 无论是材料问题还是我不​​理解的调试器的细微差别。 fn在调用结束时确实有一个值,但不是断点所在的值。