簡體   English   中英

JavaScript:是否可以獲取未定義函數的嘗試名稱?

[英]JavaScript: is it possible to get the attempted name of an undefined function?

我一直想知道在嘗試使用不存在的功能(或不是功能)時,是否有一種方法可以改善錯誤消息。 例如:

document.iDontExist()
TypeError: undefined is not a function

我希望能夠記錄以下內容:

document.iDontExist is not a function

只是節省了幾秒鍾。 我知道我有行號等,我只是想知道這是否可能。 我可以使用TypeError某些屬性來查找嘗試的名稱嗎?

不-一般而言。

JavaScript不會“發送消息”來調用函數,並且任何表達式構造都可以應用()運算符..沒有一個瀏覽器引擎會嘗試“讀入”表達式以報告更有用的消息。

調試器(具有異常中斷功能)可能很有用,但否則就沒有作用-無需人工干預,異常將保持通用。

不幸的是沒有,但是如果這是您的選擇,它可能會起作用...

而不是調用document.iDontExist() ,請嘗試:

(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist();

這會濫用邏輯運算符,僅在函數存在時調用該函數,否則會記錄一個錯誤(假設存在logError !)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM