Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengakses Nama Fungsi Dari Dalam Fungsi dalam JavaScript?
Menemui Identiti Fungsi dari Dalam
Cabaran untuk mengakses nama fungsi dari dalam fungsi biasanya timbul dalam pengaturcaraan. Dengan JavaScript, beberapa pendekatan wujud untuk menyelesaikan isu ini.
ES6: myFunction.name
Dalam ES6 dan versi yang lebih baru, penyelesaian langsung adalah dengan menggunakan myFunction.name harta benda. Atribut ini memberikan nama fungsi, menjadikannya kaedah yang cekap dan mudah.
ES5: Penghuraian Fungsi
Untuk ES5, fungsi tersuai bernama functionName(fun) boleh dibuat untuk mengekstrak nama daripada perwakilan rentetan fungsi. Ia memangkas awalan "fungsi " dan kurungan, memberikan nama fungsi yang diingini.
Pendekatan Berasaskan Regex
Sebagai alternatif, ungkapan biasa boleh digunakan untuk mendapatkan nama fungsi. Fungsi berasaskan regex oleh nus berikut menawarkan prestasi yang dipertingkatkan:
<code class="javascript">function funName(fun) { return fun.toString().match(/function ([^\(]+)[\s\S]*/)[1]; }</code>
Awas dan Pertimbangan
Perlu ambil perhatian bahawa pemencil boleh mengoptimumkan nama fungsi untuk pemampatan yang lebih baik . Jika ini menimbulkan masalah, anda mungkin perlu melaraskan tetapan pengecil anda. Selain itu, Function.caller dan arguments.callee harus dielakkan kerana ia tidak standard dan tidak digalakkan dalam mod ketat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Nama Fungsi Dari Dalam Fungsi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!