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

Mary-Kate Olsen
Lepaskan: 2024-10-20 21:52:02
asal
644 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!