Menemui Butiran Fungsi Pemanggil dalam JavaScript
Menentukan asal panggilan fungsi boleh memberikan cerapan berharga untuk penyahpepijatan dan analisis. Artikel ini meneroka cara untuk mendapatkan nombor talian dan URL sumber fungsi pemanggil dalam JavaScript.
Mendapatkan Nombor Talian Pemanggil
Kod yang disediakan dengan berkesan mendapatkan semula nama fungsi pemanggil menggunakan arguments.callee.objek pemanggil. Walau bagaimanapun, untuk mendapatkan nombor baris memerlukan pendekatan yang berbeza. Satu kaedah melibatkan penggunaan objek Ralat:
<code class="js">function getErrorObject() { try { throw Error(''); } catch (err) { return err; } } var err = getErrorObject(); var caller_line = err.stack.split("\n")[4]; var index = caller_line.indexOf("at "); var clean = caller_line.slice(index + 2, caller_line.length);</code>
Harta tindanan objek Ralat mengandungi surih tindanan yang merangkumi nombor baris dan URL sumber bagi panggilan fungsi yang membawa kepada ralat. Dengan menghuraikan rentetan ini, anda boleh mengekstrak nombor baris fungsi pemanggil.
Mendapatkan semula URL Sumber Pemanggil
Begitu juga, URL sumber boleh diperoleh daripada timbunan sifat objek Ralat:
<code class="js">var caller_url = err.stack.split("\n")[4]; var index = caller_url.indexOf("("); var clean = caller_url.slice(index + 1, caller_url.length - 1);</code>
Bahagian surih tindanan antara kurungan mengandungi URL sumber fungsi pemanggil.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Butiran Fungsi Pemanggil dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!