Rumah >hujung hadapan web >tutorial js >Bolehkah Fungsi JavaScript Mendapatkan Nama Pembolehubah Asal bagi Argumen yang Diluluskan?

Bolehkah Fungsi JavaScript Mendapatkan Nama Pembolehubah Asal bagi Argumen yang Diluluskan?

Patricia Arquette
Patricia Arquetteasal
2024-11-03 18:08:291038semak imbas

Can JavaScript Functions Retrieve the Original Variable Name of Passed Arguments?

Menentukan Nama Pembolehubah Asal dalam Fungsi

Dalam JavaScript, ia mungkin kelihatan intuitif untuk mendapatkan semula nama asal pembolehubah yang dihantar kepada fungsi. Walau bagaimanapun, konsep ini menimbulkan cabaran yang ketara disebabkan oleh sifat skop pembolehubah dan lulus nilai.

Pelulusan Nilai dalam Fungsi

Apabila pembolehubah dihantar kepada fungsi, ia akan nilai yang akan dipindahkan, bukan pembolehubah itu sendiri. Ini bermakna fungsi hanya mempunyai akses kepada nilai, manakala nama pembolehubah asal hilang dalam proses.

Contoh:

Pertimbangkan kod berikut:

function getVariableName(unknownVariable){
  return unknownVariable.originalName;
}

getVariableName(foo); //returns string "foo";
getVariableName(bar); //returns string "bar";

Dalam contoh ini, fungsi getVariableName cuba mendapatkan semula nama asal pembolehubah yang dihantar kepadanya. Walau bagaimanapun, memandangkan nama pembolehubah tidak dihantar bersama, fungsi mengembalikan Pembolehubah yang tidak diketahui itu sendiri sebagai rentetan, yang sama dengan nilai asal.

Kemustahilan Pengambilan Nama Asal

Seperti yang dinyatakan sebelum ini, pada asasnya adalah mustahil untuk mendapatkan semula nama pembolehubah asal dengan cara yang waras. Ini kerana:

  • Hanya Nilai yang Diluluskan: Fungsi menerima salinan nilai, bukan rujukan kepada pembolehubah asal.
  • Skop Pembolehubah: Pembolehubah terikat pada skop semasanya dan namanya hilang apabila mereka meninggalkan skop tersebut. Menghantar nilai kepada fungsi mencipta skop baharu, mengasingkannya daripada skop pembolehubah asal.

Atas ialah kandungan terperinci Bolehkah Fungsi JavaScript Mendapatkan Nama Pembolehubah Asal bagi Argumen yang Diluluskan?. 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