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; };
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']
Mendapatkan Nilai Parameter
Selain nama parameter, objek argumen boleh digunakan untuk mengakses nilai parameter dalam fungsi itu sendiri:
var args = Array.slice(arguments);
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); }
Di dalam fungsi, fungsi getParamNames digunakan untuk mendapatkan nama parameter, dan Array.slice(arguments) digunakan untuk mendapatkan parameter nilai.
Pertimbangan
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!