JavaScript aC未定义的变量错误

时间:2011-08-07 02:52:54

标签: javascript

http://pastebin.com/YysAqpQ5

我有这个脚本,它在第447行调用aC.checkStreamUpdates函数时得到一个未定义的aC变量。我相信参考aC.newestUpdate变量。我刚刚为测试目的添加了警报。有任何想法吗?在将其包装到主函数之前,它工作正常。

您可以看到为什么我将所有代码都包含在第655到664行的主函数中。

1 个答案:

答案 0 :(得分:1)

您只在aC内将function main()定义为局部变量。因此,如果当然它在任何其他情况下都不可见。

如果您是添加main()包装器的那个,那么应该明白为什么会导致事情破裂。没有那个包装器aC将在全局范围内声明,因此可以从任何上下文中看到。

如果您想让main()函数保持代码正常运行,请从var行中删除var aC = ...关键字。

您似乎还有在实际调用aC之前尝试使用main()的代码。请注意,这不起作用,因为在调用aC之前,任何范围内都不会定义main()。所以像这样的行:

$(document.documentElement).keydown(aC.onKeyDown);

......会出错。您需要将调用移至main(),以便在任何此类代码之前执行。或者移动任何此类代码,使其在调用main()之后,相同的差异。