funObj closure

1970 단어

6.7 함수 대상 및 패키지 학습

 * 24. 
 * 25. 
 * 26. 

함수 대상
함수 객체 만들기: 3가지:
  • 성명 방식 생성: 성명 방식으로 만든 함수만hoist(성명 앞당김)function 함수 이름(파라자 목록) {함수체;return 반환값};
  • 함수 직접량: var 함수 이름 =function (인자 목록) {함수체;return 반환값};
  • 실례화 대상: 매개 변수 이름과 함수체는 모두 문자열 var 함수 이름=newFunction("매개 변수 이름 1", "매개 변수 이름 2", "함수체; return 반환값");
  • function one (a,b){
      return a+b;
    }
    
    var two = function (a,b) {
        return a+b;
    }
    
    var three = new Function(
        'a','b','return a+b;'
    );
    

    arguments 대상: 모든 전송된 함수의 매개 변수 값을 수신하는 클래스 그룹 대상은 기본적으로 모든 함수를 자동으로 생성하여 직접 사용할 수 있습니다.클래스 그룹 대상: 그룹처럼 생긴 대상, 그룹 형식이 아닌 실례(대상)arguments instance of Array -->false
    function ar() {
        if (arguments.length==1){
            console.log('length=1');
        }else if(arguments.length==2){
            console.log('length=2');
        }
        console.log(arguments instanceof Array);    //false
    }
    ar(1);
    ar(1,2);
    

    익명 함수
    함수 이름이 없는 함수 정의는 어떤 변수도 인용하지 않습니다. 함수가 한 번만 실행되면 익명 함수를 사용합니다.집행이 끝나면 즉시 석방하라!왜 사용: 익명 함수는 변수 인용이 없습니다. 자동 방출을 호출합니다!단점: 중용불가!사용 방법: 2가지:
  • 익명 함수 자조: 정의된 후 즉시 호출할 때 사용: 한 함수가 한 번만 실행될 때 어떻게 사용합니까: (function ([매개 변수 목록]) {함수체;return 반환값} ([매개 변수 값 목록]);
  • 리셋: 함수를 대상으로 다른 함수에 전달하고 다른 함수로 호출
  • // 
    (function(){
        console.log("111");
    })();
    
    // 
    var arr = [1,9,3,7];
    arr.sort(function(a,b){
        return a-b;
    });
    console.log(arr);
    

    가방을 닫다
    판단 폐쇄: 3 특징:
  • 내·외부 함수 중첩
  • 내층 함수는 외층 함수의 국부 변수를 사용해야 한다
  • 외층 함수는 내층 함수를 외부로 되돌려주고 외부에서 호출하여 패키지 결과를 판단할 수 있다.
  • 외층 함수는 몇 번 호출되었는데 보호된 국부 변수 사본 몇 개
  • 가 있다
  • 같은 외층 함수 호출로 되돌아오는 내부 함수 대상, 같은 변수 패키지 조작: 중용 가능한 국부 변수를 실현하고 오염되지 않는 메커니즘을 보호한다
  • function f1(){
        var i = 1;
        function  f2(){
            i++;
            console.log(i);
        }
        return f2;
    }
    var rs = f1();
    rs();// , 
    rs();
    rs();

    좋은 웹페이지 즐겨찾기