Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Meluluskan Bilangan Pembolehubah Argumen kepada Fungsi JavaScript?
JavaScript menawarkan kefleksibelan dalam menghantar argumen kepada fungsi, termasuk keupayaan untuk menghantar nombor pembolehubah argumen daripada tatasusunan.
Seperti Python, JavaScript mempunyai ciri khas objek argumen yang mewakili semua argumen yang dihantar ke fungsi. Objek ini mengandungi setiap hujah sebagai harta boleh diindeks. Contohnya:
function func() { console.log(arguments.length); for (arg in arguments) console.log(arg); } func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'
Walau bagaimanapun, menghantar tatasusunan terus ke fungsi sebagai argumen tidak akan mencapai hasil yang diingini. Sebaliknya, tatasusunan itu sendiri akan dianggap sebagai satu hujah. Untuk menghantar tatasusunan sebagai argumen individu, anda boleh menggunakan kaedah apply():
var arr = ['a', 'b', 'c']; function func() { console.log(this); // 'test' console.log(arguments.length); // 3 for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } func.apply('test', arr);
Ini akan mencetak 'test', 3, 'a', 'b' dan 'c'.
Sejak ES6, JavaScript memperkenalkan sintaks spread (...), yang menyediakan cara yang lebih ringkas untuk mencapai hasil yang sama:
func(...arr);
Ini akan mengembangkan elemen arr ke dalam argumen individu yang dihantar ke fungsi.
Anda juga boleh menggabungkan parameter bernama dengan sintaks penyebaran untuk menentukan bahawa beberapa argumen harus dianggap sebagai tatasusunan:
function func(first, second, ...theRest) { //... }
JavaScript membenarkan untuk menghantar nombor pemboleh ubah argumen kepada fungsi melalui objek argumen atau, dalam ES6 dan kemudian, menggunakan sintaks spread. Fleksibiliti ini membolehkan pelbagai kes penggunaan, seperti mencipta fungsi generik yang boleh mengendalikan bilangan input sewenang-wenangnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Bilangan Pembolehubah Argumen kepada Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!