32
|
Chris Noe PaweÅ Dyda · 技术社区 · 14 年前 |
![]() |
1
26
Firefox对函数语句的解释不同,显然它们破坏了函数声明的声明提升。( A good read about named functions / declaration vs expression 为什么Firefox对语句的解释不同是因为以下代码:
因申报起重、功能
在与ime Vidas进行了简短的讨论之后,我不得不说Firefox处理函数声明是非标准的,因为:
FunctionDeclaration和Statement都是SourceElements,因此,语句中不应该有FunctionDeclaration(if/else,try/catch)。给我一个布朗尼! Try/catch基本上是if/else的另一种形式,可能使用相同的异常代码。 |
![]() |
2
5
假设一个函数块通过前向函数引用建立了一个本地作用域,那么将try块的内容包装到一个即时函数中似乎可以恢复该行为。 这适用于Firefox、IE、Chrome:
|
![]() |
3
1
你总是可以这样做,并得到最好的两个世界:
编辑: 为了证明这与将整个代码封装在try-catch中一样持久,我提供了一个更详细的示例。
这将按预期工作,没有解析问题。加载时它可能失败的唯一位置是函数defs和try catch之外。在函数def中的任何垃圾上也会出现异常。
|
|
lfox · 如果列中不存在某个值,则停止代码执行 3 年前 |
![]() |
juztcode · 在C++中尝试捕获-创建了多少个对象 7 年前 |
![]() |
Novic · 结果不明确时如何使用tryCatch 7 年前 |
![]() |
Jacob Nelson · 多次尝试表达式,直到在R中成功 7 年前 |
![]() |
Mert Yücel · 如何在布尔方法中引发三个异常? 7 年前 |
![]() |
Jatt · 捕获从setInterval内部引发的异常 7 年前 |