Dalam JavaScript, adalah mungkin untuk menghantar nombor pembolehubah argumen kepada fungsi, termasuk daripada tatasusunan. Walau bagaimanapun, pendekatannya berbeza daripada notasi *args Python.
Menggunakan Array:
Apabila menghantar tatasusunan sebagai argumen kepada fungsi, ia akan dianggap sebagai argumen tunggal. Gelung tersuai boleh digunakan untuk mengulangi tatasusunan untuk mengakses elemennya:
var arr = ['a', 'b', 'c']; var func = function() { // debug console.log(arguments.length); // for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } }; func('a', 'b', 'c', 'd'); // prints 4, then 'a', 'b', 'c', 'd' func(arr); // prints 1, then 'Array'
Spread Syntax (ES6 ):
ES6 memperkenalkan sintaks spread, yang membolehkan anda menyebarkan secara terus elemen tatasusunan sebagai hujah individu kepada fungsi:
func(...arr); // prints 4, then 'a', 'b', 'c', 'd'
Senarai Parameter (ES6 ):
Sebagai alternatif, anda boleh menggunakan sintaks hamparan terus dalam senarai parameter fungsi untuk mencipta tatasusunan bagi argumen fungsi:
function func(...args) { args.forEach(arg => console.log(arg)); } const values = ['a', 'b', 'c']; func(...values); func(1, 2, 3);
Meluluskan Argumen Sewenang-wenang:
Tidak kira kaedah yang digunakan, JavaScript membenarkan anda menghantar bilangan argumen sembarangan kepada fungsi.
Mendapatkan Argumen Panjang:
Anda boleh menentukan bilangan argumen yang dijangkakan dengan mengakses sifat panjang fungsi:
var test = function (one, two, three) {}; console.log(test.length); // 3
Menggunakan apply (Legasi):
Sebelum ini, apply kaedah boleh digunakan untuk menghantar tatasusunan sebagai argumen kepada fungsi dan menetapkan nilai ini:
func.apply('test', arr);
Walau bagaimanapun, sintaks penyebaran kini lebih disukai kerana kesederhanaan dan serba boleh.
Atas ialah kandungan terperinci Bagaimanakah cara saya menyampaikan Argumen Pembolehubah kepada Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!