Zuerst gibt es eine JavaScript-Funktion
Code
<span style="font-family: 'courier new', courier;">function test(a, b, c, d) { return a + b; }</span>
Die Anzahl der tatsächlichen Parameter beim Aufruf einer Funktion in JavaScript kann gleich der Anzahl von sein Die formalen Parameter der aufgerufenen Funktion stimmen nicht überein. Die Anforderungen sind nicht so streng wie bei Java, da die Parameter in ECMAScript intern durch ein Array dargestellt werden und die Funktion beim Aufruf immer dieses Array empfängt, unabhängig davon, welche Parameter darin enthalten sind Das Array spielt keine Rolle, auch wenn kein Element
Js-Code
<span style="font-family: 'courier new', courier;">function test(a, b, c, d) { return a + b; }
console.log(test(10, 20)); vorhanden ist 🎜>
Ein solcher Code meldet keinen Fehler in JavaScript. Gleichzeitig können wir in JavaScript die Anzahl der tatsächlichen Parameter und formalen Parameter durch den folgenden Code abrufen Js-Code
<span style="font-family: 'courier new', courier;">function test(a, b, c, d) { console.log(test.length);//这里获得的是形参的个数 console.log(arguments.length);//这里获得的是实参的个数,这段代码必须放在函数内部 }
<span style="font-family: 'courier new', courier;">function test2(num) { if(num <= 1) return 1; else return num*arguments.callee(num-1); } console.log(test2(5));</span>
<span style="font-family: 'courier new', courier;">var F = test2; test2 = null; console.log(F(5));</span>