Rumah >hujung hadapan web >tutorial js >Bolehkah Anda Dapatkan Nama Pembolehubah Asal Selepas Menyalurkannya kepada Fungsi JavaScript?

Bolehkah Anda Dapatkan Nama Pembolehubah Asal Selepas Menyalurkannya kepada Fungsi JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 13:33:03801semak imbas

Can You Retrieve the Original Variable Name After Passing It to a JavaScript Function?

Menyingkap Nama Pembolehubah Enigmatik: Misi Yang Mustahil dalam JavaScript

Ranah JavaScript membentangkan paradoks yang aneh apabila ia datang untuk menentukan yang asal nama pembolehubah selepas ia telah dihantar ke fungsi. Sifat semulajadi pemindahan nilai dalam JavaScript bermakna hanya nilai itu sendiri, bukan pengecam asalnya, dihantar ke fungsi.

Pertimbangkan contoh berikut:

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

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

Niat di sebalik kod ini adalah untuk mendapatkan semula nama pembolehubah asal selepas ia diserahkan kepada fungsi getVariableName. Walau bagaimanapun, seperti yang ditunjukkan oleh kod, ini adalah tugas yang mustahil. Rentetan "foo" atau "bar" yang dikembalikan hanyalah nilai pembolehubah, bukan nama asalnya.

Punca kemustahilan ini terletak pada mekanisme pemindahan nilai JavaScript. Apabila pembolehubah dihantar ke fungsi, hanya nilainya disalin, bukan rujukannya. Ini bermakna fungsi menerima pembolehubah sementara baharu yang bebas daripada pembolehubah asal. Oleh itu, tiada cara untuk fungsi itu mengakses nama pembolehubah asal.

Oleh itu, usaha untuk mendapatkan semula nama pembolehubah asal selepas pemindahannya kepada fungsi masih sukar difahami dalam alam JavaScript yang penuh teka-teki.

Atas ialah kandungan terperinci Bolehkah Anda Dapatkan Nama Pembolehubah Asal Selepas Menyalurkannya kepada Fungsi JavaScript?. 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