在追踪错误时,我遇到了一些奇怪的行为,为什么会发生这种情况?
注意:作为参考,此代码是我的 JavaScript 代码使用闭包编译器压缩的结果。
在 chrome 中,调试器在抛出错误时暂停。我已经在控制台中输入了一些代码(见下文)。
a
> null
B.Ta.Cd[a]
> "Override this" error is thrown
B.Ta.Cd[null]
> undefined
我不明白如果a
应该是null
那么为什么后两行不产生相同的东西。
有趣的是,我想看看如何a
和null
不同。
typeof(a)
> "function"
typeof(null)
> "object"
现在我想知道如何a
既是函数又是null
?
我的解决方法是检查typeof(a) == "function"
然后返回。但我不喜欢为我不理解的问题添加修复程序。