자바 script 내 가 배 운 2 함수 정의

11271 단어 JavaScript
본 고 는 김 욱 량 선생님 왕 이 운 교실 의 수업 노트 로 기록 하여 잊 을 수 있 도록 한다.
함수.
몇 가지 요점:
                a). 함 수 는 자 바스 크 립 트 의 일등 공민 (중요성)
                b). 함 수 는 하나의 대상 이다
                c). 함수 가 독립 된 변수 역할 영역 을 정의 합 니 다.
 
정의 방식
a) 명명 함수:
          다른 함수 내부 에서 정의 하지 않 으 면 이름 함수 가 전역 적 입 니 다. 
1                 //        
2         function add(x, y) {
3             return x + y;
4         }
5         console.info(add(100, 200));   //300

b) 익명 함수:    
            익명 함 수 는 보통 변 수 를 할당 하고 변 수 를 통 해 호출 합 니 다.
        var func = function (x, y) {
            return x + y;
        }
        console.info(func(5, 2)); //7

            익명 함 수 는 다음 과 같은 '즉시 실행 되 는 익명 함수' 의 경우 에 적 용 됩 니 다.
        console.info(
            function (x, y) {
                        return x + y;
                    }(100, 200)   //    
                );

C) 코드 실행 효과 에 영향 을 주 는 정의 방식
                명명 함 수 는 먼저 사용 하고 정의 할 수 있다.
        console.info(sum(10, 10));
        function sum(num1, num2) {
            return num1 + num2;
        }

              익명 함 수 는 먼저 정의 하고 사용 해 야 합 니 다.
        //console.info(sumFunc(10, 10));    //Uncaught TypeError: Property 'sumFunc' of object [object Object] is not a function 
        var sumFunc = function (num1, num2) {
            return num1 + num2;
        };
        console.info(sumFunc(10, 10));

함수 반환 값:
                 return 으로 반환 값 을 생 성 합 니 다. return 이 없 으 면 함수 가 undefined 로 돌아 갑 니 다.
1         function func() {
2         }
3         console.info(func()); //undefined
4         function func2() {
5             return;  //      
6         }
7         console.info(func2()); //undefined

return 에 숨겨 진 구덩이:
1             var func = function (x, y) {
2                 var  sum = x + y;
3                 return {
4                     value : sum
5                 }
6             }

                   이렇게 쓰 는 것 은 문제 가 없다.  func 호출 (5, 5)   돌아 온 것 은 Object {value: 10}
                   그러나:  
1         var func = function (x, y) {
2             var sum = x + y;
3             return
4             {
5                 value: sum
6             };
7         }
8         console.info(func(5,5)); //undefined

 
                   return 뒤에 차 를 따라 갈 아타 면...
                   func 호출 (5, 5)   네, 그것 도 좋아요. undefined
                   편집기 가 return 후에 점 수 를 추가 해 주 었 습 니 다.  하지만 이 상황 에 서 는 별 쓸모 가 없다.
 
함수 즉 대상:
1         function add(x, y) {
2             return x + y;
3         }
4         console.info(add(100, 200));  //300
5         var other = add;  //other add        
6         console.info(other(300, 400)); //700
7         console.info(typeof other);   //function
8         console.info(add === other);  //true

끼 워 넣 기 정의 함수:
                  함수 내부 에서 다른 함 수 를 정의 할 수 있 습 니 다.
1         function outerFunc(a, b) {
2             function innerFunc(x) {
3                 return x * x;
4             }
5             return Math.sqrt(innerFunc(a) + innerFunc(b));
6         }
7         console.info(outerFunc(3, 4));  //5

외부 변수 에 접근:
             내부 함 수 는 외부 변수 와 인자 에 접근 할 수 있 습 니 다.
 1         var globalStr = 'globalStr';
 2         function outerFunc2(argu) {
 3             var localVar = 100;
 4             function innerFunc2() {
 5                 localVar++;
 6                 console.info(argu + ":" + localVar + ":" + globalStr);
 7             }
 8             innerFunc2(); //hello:101:globalStr
 9         }
10         outerFunc2("hello");

함수 반환:
               함수 가 대상 이기 때문에 반환 값 으로 사용 할 수 있 습 니 다.
1             function outerFunc(x) {
2                 var y = 100;
3                 return function innerFunc() {
4                     console.info(x + y);
5                 }
6             }
7             outerFunc(10)();  //110

 
 

좋은 웹페이지 즐겨찾기