Mendapatkan Nombor Talian dan URL Sumber Fungsi Pemanggil dalam JavaScript
Menentukan nombor talian dan URL sumber dari mana kaedah JavaScript digunakan boleh menjadi berharga untuk tujuan penyahpepijatan dan mengesan aliran pelaksanaan. Walaupun tiada kaedah terbina dalam langsung, kami boleh menggunakan sifat tindanan objek Ralat untuk mendapatkan maklumat ini.
Mendapatkan Nombor Talian Fungsi Pemanggil
Untuk mendapatkan nombor baris tempat fungsi pemanggil dipanggil, kita boleh menghuraikan sifat tindanan 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); console.log(clean);</code>
Dalam contoh ini, kita membuang ralat untuk mendapatkan semula objek Ralat, yang mengandungi tindanan panggilan. Kami kemudian membahagikan timbunan mengikut pemisah baris dan memilih baris keempat (indeks 3), yang biasanya mengandungi maklumat fungsi pemanggil. Kami memangkas rentetan "pada " terkemuka untuk mengeluarkan nombor talian.
Mendapatkan URL Sumber Fungsi Pemanggil
Malangnya, tiada cara mudah untuk mendapatkan URL sumber fungsi pemanggil dari dalam fungsi itu sendiri. Walau bagaimanapun, kami boleh menggunakan penyelesaian yang melibatkan pengelogan konsol:
<code class="js">function logCallerInfo() { console.log("%c", "color: white; background: #000; padding:2px; line-height: 1.5em;", err.stack.split("\n")[4]); } logCallerInfo();</code>
Dalam contoh ini, kami menggunakan pengelogan konsol untuk memaparkan maklumat fungsi pemanggil dalam gaya tersuai. Baris keempat timbunan (indeks 3) harus termasuk URL sumber fungsi pemanggil. Memeriksa output konsol akan mendedahkan maklumat yang diingini.
Walaupun kaedah ini menyediakan cara untuk menganggarkan nombor talian fungsi pemanggil dan URL sumber, adalah penting untuk ambil perhatian bahawa ia mungkin tidak boleh dipercayai sepenuhnya dalam semua situasi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nombor Talian dan URL Sumber Fungsi Pemanggil dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!