Mendapatkan Nama Fungsi Sedang Berjalan dalam JavaScript
Dalam JavaScript, anda mungkin menghadapi situasi di mana anda memerlukan akses kepada nama fungsi yang sedang dilaksanakan. Walaupun ini mungkin bukan senario biasa, terdapat kes penggunaan tertentu yang mungkin memerlukan maklumat ini.
Arguments.callee
Dalam versi JavaScript sebelum ES5, argumen Harta .callee menyediakan cara untuk mendapatkan semula fungsi aktif. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa harta tanah ini telah ditamatkan dan memihak kepada alternatif yang lebih selamat. Menggunakan arguments.callee mungkin membawa kepada tingkah laku yang tidak dijangka atau malah ralat dalam persekitaran JavaScript moden.
Menghuraikan Nama Fungsi
Jika anda mesti mendapatkan nama fungsi, anda boleh berbuat demikian dengan menganalisis output arguments.callee.toString(). Walau bagaimanapun, ambil perhatian bahawa rentetan yang dikembalikan termasuk maklumat tambahan seperti kurungan kerinting dan kurungan. Untuk mengekstrak nama fungsi, anda perlu melakukan beberapa penghuraian.
Sebagai contoh:
<code class="js">function DisplayMyName() { var myName = arguments.callee.toString(); myName = myName.substr('function '.length); myName = myName.substr(0, myName.indexOf('(')); alert(myName); }</code>
Dalam ES5 dan ke atas, sifat arguments.callee telah dialih keluar sama sekali, menghapuskan keupayaan untuk akses nama fungsi semasa secara langsung. Akibatnya, adalah disyorkan untuk mengelak daripada bergantung pada ciri ini dalam amalan pembangunan moden.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Fungsi Sedang Berjalan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!