Rumah >hujung hadapan web >tutorial js >Berapa Banyak Hujah yang Boleh Dikendalikan oleh Fungsi JavaScript?

Berapa Banyak Hujah yang Boleh Dikendalikan oleh Fungsi JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 15:24:03346semak imbas

How Many Arguments Can a JavaScript Function Really Handle?

Adakah Terdapat Had kepada Bilangan Argumen Yang Fungsi JavaScript Boleh Terima?

Walaupun fungsi JavaScript direka untuk menerima "mana-mana" nombor hujah, seperti yang ditunjukkan oleh fungsi f( yang mengambil bilangan input sewenang-wenangnya, terdapat pertimbangan praktikal yang perlu diingat.

Had Khusus Pelaksanaan

Maksimum bilangan argumen tidak ditakrifkan secara eksplisit dalam spesifikasi; oleh itu, ia adalah khusus pelaksanaan dan persekitaran JavaScript boleh mengenakan hadnya sendiri berdasarkan faktor seperti kekangan memori dan pengoptimuman prestasi.

Hasil Eksperimen.

Percubaan telah dijalankan menggunakan fungsi testArgs untuk mewujudkan had anggaran dalam pelbagai penyemak imbas:

  • Chrome 33: 65,535 argumen (gagal kerana saiz tindanan panggilan maksimum melebihi)
  • Firefox 27: 262,143 argumen (gagal kerana saiz tatasusunan argumen terlalu besar)
  • Internet Explorer 11: 131,071 argumen (gagal kerana ralat ruang timbunan)
  • Opera 12: 1,048,576 hujah (gagal kerana argArray terlalu besar untuk digunakan)

Ujian Eval

Satu lagi percubaan menggunakan eval mendedahkan keputusan berbeza:

  • Chrome 33: 32,767 argumen (gagal kerana terlalu banyak argumen dalam panggilan fungsi)
  • Firefox 27: 32,767 argumen (gagal kerana saiz skrip terlalu besar)
  • Internet Explorer 11 : 32,767 argumen (gagal kerana ralat ingatan)
  • Opera 12: 4,194,303 argumen (gagal kerana penamatan skrip memori kehabisan)

Eksperimen ini menggambarkan bahawa had praktikal untuk argumen adalah jauh lebih rendah daripada maksimum teori (2^32)-1 dan berbeza-beza merentas pelayar dan persekitaran. Oleh itu, adalah dinasihatkan untuk mengelak daripada menghantar bilangan hujah yang berlebihan kepada fungsi untuk memastikan pelaksanaan yang betul dan mengelakkan ralat.

Atas ialah kandungan terperinci Berapa Banyak Hujah yang Boleh Dikendalikan oleh 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