>  기사  >  웹 프론트엔드  >  인수及arguments.callee

인수及arguments.callee

巴扎黑
巴扎黑원래의
2016-11-25 09:38:551060검색

먼저 자바스크립트 함수가 있습니다.

코드

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    return a + b;  
}</span>

자바스크립트에서 함수를 호출할 때 실제 매개변수의 개수는 코드의 개수와 같을 수 있습니다. 호출된 함수의 형식 매개변수 번호 불일치, 요구사항은 Java만큼 엄격하지 않습니다. 왜냐하면 ECMAScript의 매개변수는 내부적으로 배열로 표시되고 함수가 호출될 때 어떤 매개변수가 포함되어 있는지에 관계없이 항상 이 배열을 수신하기 때문입니다. 배열.

Js 코드

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    return a + b;  
}

console.log(test(10, 20));54bdf357c58b8a65c66d7c19c8e4d114 🎜>

이러한 코드는 JavaScript에서 오류를 보고하지 않습니다. 동시에 JavaScript에서는 다음 코드를 통해 실제 매개변수와 형식 매개변수의 수를 얻을 수 있습니다.

Js 코드

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    console.log(test.length);//这里获得的是形参的个数  
    console.log(arguments.length);//这里获得的是实参的个数,这段代码必须放在函数内部  
}
console.log(test(10, 20));54bdf357c58b8a65c66d7c19c8e4d114

args.calee라는 유사한 객체도 있습니다. 일반적으로 재귀 호출에 사용됩니다

Js 코드

<span style="font-family: &#39;courier new&#39;, courier;">function test2(num) {  
    if(num <= 1) return 1;  
    else return num*arguments.callee(num-1);  
}  
  
console.log(test2(5));</span>
args.callee(num-1)을 test2(num-1)로 변경하면 오류가 보고됩니다. 다음 통화

Js 코드

<span style="font-family: &#39;courier new&#39;, courier;">var F = test2;  
test2 = null;  
console.log(F(5));</span>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:BOM 요소 창 객체다음 기사:BOM 요소 창 객체