是誰調(diào)用了我的函數(shù)?

最近在給前人留下的項目填坑。在這個過程中,我發(fā)現(xiàn)往往定位一個Bug需要很長時間,特別是有一些被多次調(diào)用的函數(shù)極其難以定位。在此過程中,我也學(xué)會了利用一些特殊的技巧,在這里做一下分享。

Chrome Dev Tool,我的最愛

? 利用Google瀏覽器提供的開發(fā)者工具進行調(diào)試,一直是前端工程師的一項基本功。但是,仍然有些功能,以前一直不怎么用到調(diào)用棧(Call Stack)的功能。最近發(fā)現(xiàn),它特別的好用,特別是在弄清楚一些函數(shù)的運行流程的時候。

dev-call-stack

? 你可以從上圖看到,當(dāng)你啟用斷點的時候,右側(cè)會有一個函數(shù)調(diào)用棧(Call Stack)你可以查看到函數(shù)的具體調(diào)用情況。

Console黑科技

如果你懶得打斷點,可以在函數(shù)體內(nèi)加入以下這句:

console.log("Being called from " + arguments.callee.caller.toString());
demo-call-stack

你可以從最后打印出來的結(jié)果看到,hello函數(shù)是被sayHello這個函數(shù)調(diào)用了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容