Rumah >hujung hadapan web >tutorial js >Berikut ialah beberapa pilihan tajuk yang sesuai dengan kandungan artikel dan gaya soalan: **Pilihan 1 (Terus dan ringkas)**: * Cara Mendapatkan Nama Fungsi dalam JavaScript **Pilihan 2 (Menyerlahkan ES6)**

Berikut ialah beberapa pilihan tajuk yang sesuai dengan kandungan artikel dan gaya soalan: **Pilihan 1 (Terus dan ringkas)**: * Cara Mendapatkan Nama Fungsi dalam JavaScript **Pilihan 2 (Menyerlahkan ES6)**

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 09:31:28706semak imbas

Here are a few title options that fit the article's content and style of a question:

**Option 1 (Direct and concise)**:
* How to Get a Function's Name in JavaScript

**Option 2 (Highlighting ES6)**:
*  How to Access Function Names with ES6's `function

Mengakses Nama Fungsi dari Dalam Fungsi

Dalam JavaScript, mengakses nama fungsi dari dalam fungsi itu boleh menjadi mencabar. Kaedah tradisional melibatkan pemeriksaan prototaip atau menggunakan Function.caller atau arguments.callee, tetapi pendekatan ini mempunyai kelemahan, seperti ketidakkonsistenan merentas penyemak imbas dan isu keselamatan yang berpotensi.

Penyelesaian moden dan boleh dipercayai ialah menggunakan ES6 fungsi.nama harta. Contohnya:

function myFunction() {
  console.log(myFunction.name); // Outputs "myFunction"
}
myFunction();

Dalam ES5, pendekatan yang lebih mantap ialah menggunakan fungsi utiliti untuk mengekstrak nama fungsi daripada perwakilan rentetannya. Berikut ialah versi yang sangat dioptimumkan:

function functionName(fun) {
  return /\w+/.exec(fun.toString())[0];
}

Contohnya:

var obj = function() {};
console.log(functionName(obj)); // Outputs "obj"

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk yang sesuai dengan kandungan artikel dan gaya soalan: **Pilihan 1 (Terus dan ringkas)**: * Cara Mendapatkan Nama Fungsi dalam JavaScript **Pilihan 2 (Menyerlahkan ES6)**. 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