Rumah >hujung hadapan web >tutorial js >Bagaimanakah cara saya menyampaikan Argumen Pembolehubah kepada Fungsi JavaScript?

Bagaimanakah cara saya menyampaikan Argumen Pembolehubah kepada Fungsi JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 04:42:02957semak imbas

How do I Pass Variable Arguments to JavaScript Functions?

Melalukan Argumen Pembolehubah kepada Fungsi JavaScript

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!

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