Javascript 为什么“返回语句后的代码不可访问”警告在控制台中显示两次?(Firefox 72.0.2,Win 10)

Javascript 为什么“返回语句后的代码不可访问”警告在控制台中显示两次?(Firefox 72.0.2,Win 10),javascript,console,compiler-warnings,firefox-developer-tools,Javascript,Console,Compiler Warnings,Firefox Developer Tools,我正在Win 10上运行Firefox 72.0.2。这更多的是一个如何正确使用内置调试器或开发人员工具的问题。 加载test.html时,控制台会在return语句之后显示无法访问的代码警告两次。 返回位于开关盒构造中,其本身位于函数导入端口中 importExport函数仅在几个静态html span元素的onkeypress和onclick事件中引用: onkeypress=“this.onclick();event.preventDefault();“onclick=“importExp

我正在Win 10上运行Firefox 72.0.2。这更多的是一个如何正确使用内置调试器或开发人员工具的问题。

加载
test.html
时,控制台会在return语句之后显示
无法访问的代码
警告两次。
返回
位于开关盒构造中,其本身位于函数
导入端口

importExport
函数仅在几个静态html span元素的onkeypress和onclick事件中引用:
onkeypress=“this.onclick();event.preventDefault();“onclick=“importExport('import','options');”


onkeypress=“this.onclick();event.preventDefault();“onclick=“importExport('export','options');”

通过添加
console.log(“…”)在函数开始时,我可以看到它从未被调用

有没有办法让Firefox向我展示,为什么这个警告信息现在会显示两次?(我相当肯定这不是刚刚过去的事。)



编辑:它像来了一样消失了:现在警告只会再次显示

尽管这不会改变问题,但如果控制台或调试器提供了一个机会来找出警告显示两次的原因。

同一行代码的错误消息在代码解析后(即浏览器引擎读取和分析)显示一次,在执行时显示一次。 即,在您的情况下,单击元素并执行
importExport()
函数

下面是一个简单的例子:

函数x(){
回来
让foo=“bar”;
}
div{
宽度:100px;
高度:100px;
背景色:天蓝色;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}

单击我
如果您没有在test.html中的第2264行附近显示代码,有谁能提供帮助?如果没有看到代码,我不清楚这里的情况?我知道这条消息的含义和原因,但你可以添加一个简单的代码示例来说明这个问题。问题是Firefox开发工具是否有任何选项可以告诉我为什么会显示两次:它会两次解析代码吗?为什么?就在此时,它再次只显示一次警告。除了我引用的警告或错误之外,没有其他警告或错误。也许更多的问题是如何正确使用inbuild调试器。消息显示两次可能只是一个bug。您还使用了过时的Firefox版本。因此,您应该做的第一件事是将浏览器更新到当前版本。是的,代码可以被解析两次,但是如果看不到代码并且不能复制它,就不可能说出是什么导致了它。@SebastianZartner你知道什么时候会触发两次解析代码的机制吗?那个技工有名字吗,或者你知道mozilla的代码部分或帮助页面吗;在函数开始时,我可以看到它从未被调用。是的,但它是由Firefox的JavaScript引擎解析的。这就是为什么你只看到一次信息。在上面的代码片段中,您还将看到在单击元素之前已经显示了警告。我已经扩展了我的答案,以进一步解释发生了什么。很抱歉,您在上面花费了这么多时间,但真正的问题是,为什么会显示两次,以及是否有内置的工具来了解这些事情。实际上,它只与解析器有关。在一些微小的代码更改后,即使在包含
返回的函数中也不会更改,消息再次仅显示一次。-似乎我最好直接在Mozilla论坛上询问这个具体的解析/编译问题。在我回答的第一句话中,我解释了为什么会显示两次,第一次是在解析时,第二次是在执行时。如果你还想在Mozilla论坛上提问,请在这里发布链接,以便阅读此答案的人可以关注。
> unreachable code after return statement test.html:2246:4
> Passwort-Felder sind auf einer unsicheren (http://) Seite vorhanden. Dies ist ein Sicherheitsrisiko, durch das Zugangsdaten gestohlen werden können. test.html 
> unreachable code after return statement test.html:2246:4