먼저 자바스크립트 함수가 있습니다.
코드
<span style="font-family: 'courier new', courier;">function test(a, b, c, d) { return a + b; }</span>
자바스크립트에서 함수를 호출할 때 실제 매개변수의 개수는 코드의 개수와 같을 수 있습니다. 호출된 함수의 형식 매개변수 번호 불일치, 요구사항은 Java만큼 엄격하지 않습니다. 왜냐하면 ECMAScript의 매개변수는 내부적으로 배열로 표시되고 함수가 호출될 때 어떤 매개변수가 포함되어 있는지에 관계없이 항상 이 배열을 수신하기 때문입니다. 배열.
Js 코드
<span style="font-family: 'courier new', courier;">function test(a, b, c, d) { return a + b; }
console.log(test(10, 20)); 🎜>
이러한 코드는 JavaScript에서 오류를 보고하지 않습니다. 동시에 JavaScript에서는 다음 코드를 통해 실제 매개변수와 형식 매개변수의 수를 얻을 수 있습니다. Js 코드
<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>