Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mendapatkan Nombor Talian dan URL Sumber Fungsi Pemanggil dalam JavaScript?

Bagaimana untuk Mendapatkan Nombor Talian dan URL Sumber Fungsi Pemanggil dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-20 21:52:02645semak imbas

How to Get Line Number and Source URL of Caller Function in JavaScript?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn