Bagaimana untuk Menentukan Butiran Fungsi Pemanggil dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-10-20 21:53:02
asal
238 orang telah melayarinya

How to Determine the Details of the Caller Function in JavaScript?

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

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

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!

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!