Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan kepada penggunaan atribut panjang petua JavaScript function_javascript

Pengenalan kepada penggunaan atribut panjang petua JavaScript function_javascript

WBOY
WBOYasal
2016-05-16 16:36:171201semak imbas

[1,2,3]. panjang dapat 3, "123" pun boleh dapat 3, semua orang yang tahu serba sedikit tentang js ini.

Tetapi apakah yang akan diperolehi eval.length, RegExp.length, "".toString.length, 1..toString.length?

Kami masing-masing mendapat 1, 2, 0, 1 Apakah yang diwakili oleh nombor ini?

Malah, panjang fungsi mendapat bilangan parameter formal.

Mari kita lihat contoh:

function test(a,b,c) {}
test.length // 3

function test(a,b,c,d) {}
test.length // 4

Bukankah ia sangat mudah, tetapi terdapat juga perkara istimewa Jika parameter dipanggil melalui argumen di dalam fungsi tanpa benar-benar menentukan parameter, panjang hanya akan mendapat 0.

function test() { console.log( arguments );}
test.length // 0

Fungsi ini sememangnya boleh lulus dalam parameter, dan parameter juga dipanggil secara dalaman, tetapi panjang tidak dapat mengetahui bilangan parameter yang dihantar masuk.
Bilangan parameter sebenar hanya boleh diperolehi melalui panjang argumen apabila fungsi dilaksanakan.

function test() { console.log( arguments.length );}
test(1,2,3); // 输出 3
test(1,2,3,4); // 输出 4

Jadi atribut panjang fungsi hanya boleh mendapatkan bilangan parameter formalnya, tetapi bukan bilangan parameter sebenar.

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