JavaScript:是否可以获取未定义函数的尝试名称?
我一直在想,当试图使用一个不存在(或不是函数)的函数时,是否有办法改善错误消息。例如:JavaScript:是否可以获取未定义函数的尝试名称?,javascript,error-handling,Javascript,Error Handling,我一直在想,当试图使用一个不存在(或不是函数)的函数时,是否有办法改善错误消息。例如: document.iDontExist() TypeError: undefined is not a function 我希望能够记录以下内容: document.iDontExist is not a function 只是为了节省几秒钟。我意识到我有行号等,我只是想知道这是否可能。 是否有TypeError的某些属性可用于查找尝试使用的名称?不幸的是,没有,但如果这是您的一个选项,它可以工作 请尝试
document.iDontExist()
TypeError: undefined is not a function
我希望能够记录以下内容:
document.iDontExist is not a function
只是为了节省几秒钟。我意识到我有行号等,我只是想知道这是否可能。
是否有
TypeError
的某些属性可用于查找尝试使用的名称?不幸的是,没有,但如果这是您的一个选项,它可以工作
请尝试以下操作,而不是调用document.iDontExist()
:
(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist();
这会滥用逻辑运算符,仅在函数存在时调用该函数,否则会记录错误(假设存在logError
)
JavaScript不会“发送消息”来调用函数,任何表达式构造都可以应用()
运算符。。没有浏览器引擎尝试“读入”表达式以报告更有用的消息
调试器(带有中断异常)可能很有用,但在其他情况下不会-异常将保持常规,无需手动干预