>  기사  >  웹 프론트엔드  >  함수에서 형식 매개변수를 정의하지만 실제 매개변수를 전달하지 않는 방법에 대한 튜토리얼

함수에서 형식 매개변수를 정의하지만 실제 매개변수를 전달하지 않는 방법에 대한 튜토리얼

零下一度
零下一度원래의
2017-06-25 09:19:282736검색

1. 함수에서 형식 매개변수를 정의하지만 실제 매개변수를 전달하지 않는 것은 변수를 정의하지만 값을 할당하지 않는 것과 동일하므로 다음의 a는 정의되지 않습니다.

1 function test(a){2     console.log(a)//undefined3 };4 test();

2. 실제 매개변수는 코드를 실행할 때마다 전역적으로 창을 검색하는 것을 방지하여 효율성을 향상시킵니다. 그런데 왜 형식 매개변수에 정의되지 않음을 지정해야 합니까? 위에서 언급한 것처럼 함수에서 형식 매개변수를 정의하는 것은 정의하는 것과 동일합니다. 그러나 값을 할당하지 않은 경우 이 즉시 실행 함수에서는 undedefine이 여전히 정의되지 않습니다. 따라서 undefine의 값을 전역적으로 수정하더라도 이 자체 실행 함수에서는 undefine에 영향을 주지 않습니다. 그러나 Chrome 59 이상, Firefox 53 이상에서는 undefine의 수정이 허용되지 않으며 모든 출력이 출력됩니다. 정의되지 않았습니다. IE8에서는 정의되지 않은 값을 수정할 수 있으며 출력은 8이고 정의되지 않으므로 형식 매개변수를 전달하면 외부에서 수정된 변수가 다양한 브라우저의 내부 기능에 미치는 영향을 최대한 보장할 수 있습니다. IIFE 앞에 괄호가 있어야 합니다. 그렇지 않으면 오류가 보고됩니다.

1 //在ie8中2 var undefined = 8;3 (function( window , undefined ){4     console.log(window.undefined) //85     console.log(undefined); //undefined6 })(window);
//在chrome和Firefox中var undefined = 8;
(function( window , undefined ){
    console.log(window.undefined) //undefinedconsole.log(undefined); //undefined})(window)

위 내용은 함수에서 형식 매개변수를 정의하지만 실제 매개변수를 전달하지 않는 방법에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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