Javascript eval导致“未定义的函数”,但在Firebug中有效

时间:2009-12-03 16:12:14

标签: javascript eval

我想知道为什么当我在渲染页面上的Firebug控制台中调用:eval(“myFunc(1,2,3)”)时,该函数正常执行,但当我在javascript内调用相同的eval时然后页面,我得到一个在Firebug控制台中弹出的“未定义”错误。我的部分问题是我无法控制传入的HTML / JS,我似乎无法找到定义函数的位置。所以我想我的问题是,为什么我会收到该错误,如何找到我要调用的函数定义的位置?如果我拉起页面源,我可以看到对函数的调用,但我看不到它的定义。

2 个答案:

答案 0 :(得分:2)

如果您查看源代码,您应该能够在源代码和任何附加的js文件中看到任何JS - 您应该能够下载它们并在编辑器中打开它们然后进行查找。

答案 1 :(得分:1)

该功能可能在外部文件中定义。在firebug中,如果您只输入myFunc(没有paranthesis),您应该能够获得指向源的可点击链接。

它在您的eval脚本中不起作用的原因可能是它在定义函数之前执行。尝试将它推迟到页面加载或domready事件监听器中。