Javascript 返回不起作用

Javascript 返回不起作用,javascript,firebug,Javascript,Firebug,Firebug报告了一个没有位置的“返回不在函数中”错误(好吧,第1行什么都没有)。我怎样才能找到这个错误的来源 return not in function [Break on this error] return(0) javascript:return... (line 1) 我在Ubuntu的FF2.0.0.20上运行FireBug 1.05 我找到了一个有效的解决方案(适用于此配置): 代码处于一个循环中,id在该循环中发生变化,因此需要捕获函数 以前的href是“javascrip

Firebug报告了一个没有位置的“返回不在函数中”错误(好吧,第1行什么都没有)。我怎样才能找到这个错误的来源

return not in function
[Break on this error] return(0)
javascript:return... (line 1)
我在Ubuntu的FF2.0.0.20上运行FireBug 1.05

我找到了一个有效的解决方案(适用于此配置):

代码处于一个循环中,id在该循环中发生变化,因此需要捕获函数

以前的href是“javascript:return 0”,捕获函数没有直接返回false,而是使用fn的结果,当它返回与true等价的值时,有一个路径。正在评估href,导致错误


将href定义为“#”或“”导致所有链接显示为已访问。根本没有定义href导致没有链接突出显示。这似乎很简单。

我想冒险猜测一下,这意味着你有一个额外的右括号,或者缺少一个左括号

您的代码库是否太大,无法对每个返回函数进行抽查?您是否有一个IDE为您突出显示匹配的大括号?

我认为“javascript:return…”很能说明问题。我相信您正在尝试在锚定的
href
属性中返回一个值,如下所示:

<a href="javascript: return false">Test</a>


Firebug没有告诉您位置的原因是它不在任何JavaScript中,而是在DOM中的一行中。

JavaScript返回错误,因为返回语句不在函数中。可能的原因是函数定义不正确,例如:

myFunc() { some code; return; }
其中正确的代码定义为:

function myFunc() { some code; return; }

我在firebug中输入控制台窗口时得到了这个。 我写了一个for循环来搜索列表中的某个内容
不要尝试在其中返回值-只需将其分配给变量,您就可以在控制台中看到对象/值。

Daniel Lew为dougfelt提供了答案,但是其他出现此错误的人也应该注意任何不在函数中的返回语句。例如:

<script type="text/javascript">
    alert("I'm JavaScript!");
    return false;
</script>

警惕(“我是JavaScript!”);
返回false;

返回false不在任何函数范围内,将导致此错误。

看起来是这样的。我使用javascript生成带有onclick函数的链接,并设置链接的href属性。onclick函数在其操作结束时返回false,我认为这将阻止对href进行计算。由于这一点刚刚开始失败,我想知道onclick函数的早期部分是否表现出了不同的行为。我们可以看到链接的确切代码吗?在onclick中“returnfalse”是可以的;它将停止对href进行计算。但是如果你这样使用它,href本身应该是一个URL,而不是更多的JS。这是一个很好的解释,说明了如何使用onclick来防止加载锚:谢谢-这篇文章对我也有帮助。这个链接也非常好!
<script type="text/javascript">
    alert("I'm JavaScript!");
    return false;
</script>