Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengakses Nama dan Nilai Parameter Fungsi JavaScript Secara Dinamik?

Bagaimanakah Saya Boleh Mengakses Nama dan Nilai Parameter Fungsi JavaScript Secara Dinamik?

DDD
Lepaskan: 2024-12-15 03:47:09
asal
470 orang telah melayarinya

How Can I Dynamically Access JavaScript Function Parameter Names and Values?

Maklumat Parameter Fungsi Mengakses Secara Dinamik

Dalam JavaScript, selalunya wajar untuk mengakses nama dan nilai parameter fungsi secara dinamik semasa masa jalan. Artikel ini membincangkan kaedah untuk mencapai kefungsian ini.

Mendapatkan Nama Parameter

Untuk mendapatkan tatasusunan nama parameter bagi mana-mana fungsi tertentu, fungsi berikut boleh digunakan:

var getParamNames = function(func) {
  var fnStr = func.toString().replace(STRIP_COMMENTS, '');
  var result = fnStr.slice(fnStr.indexOf('(')+1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
  if(result === null)
     result = [];
  return result;
};
Salin selepas log masuk

Fungsi ini menggantikan ulasan dan memadankan nama parameter menggunakan ungkapan biasa. Contohnya:

getParamNames(getParamNames) // returns ['func']
getParamNames(function (a,b,c,d){}) // returns ['a','b','c','d']
Salin selepas log masuk

Mendapatkan Nilai Parameter

Selain nama parameter, objek argumen boleh digunakan untuk mengakses nilai parameter dalam fungsi itu sendiri:

var args = Array.slice(arguments);
Salin selepas log masuk

Ini mencipta tatasusunan yang mengandungi nilai semua fungsi parameter.

Contoh Penggunaan

Pertimbangkan fungsi berikut yang mengambil bilangan parameter sewenang-wenangnya:

function doSomething() {
  // Fill an array with parameter names and values
  var paramNames = getParamNames(doSomething);
  var paramValues = Array.slice(arguments);
}
Salin selepas log masuk

Di dalam fungsi, fungsi getParamNames digunakan untuk mendapatkan nama parameter, dan Array.slice(arguments) digunakan untuk mendapatkan parameter nilai.

Pertimbangan

  • Parameter lalai boleh menyebabkan fungsi getParamNames mengembalikan hasil yang tidak dijangka.
  • Objek argumen bukan tatasusunan sebenar , tetapi ia boleh ditukar menjadi satu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Nama dan Nilai Parameter Fungsi JavaScript Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan