종박
40
2019-04-17 16:19:34
1
167

스크립트에서의 실행순서가 궁금합니다


제가 회사 프로젝트의 코드를 보고있는데 대강 내용이

<script type="text/javascript">

    kk["zz"] = {

        init : function(obj){

            var t=this;

            t.event();

        }//init


        o : function(target){

            return ~~~~;

        }//o


        event : function(){

            var t= this;

            t.o("~").on("click",function(){

                t.open();

            });

        }//event

    }//kk

</script>

-------------------------------------

지금 코드가 이런식인데요

밑에서 만든 함수를 위세서 쓰면 실행이 어찌되는건가요??? 잘 되는건가요??

event 가 맨 위에서 사용되는데 만들어진건 없고

밑으로 내려가서야 event가 만들어집니다

0
0
  • 답변 1

  • fx
    1k
    2019-04-17 16:26:59 작성 2019-04-17 16:29:24 수정됨

    함수의 선언과 실행은 각각 다른 시간에 발생합니다.

    선언되지 않은 함수 a를 호출한다면  오류가 발생합니다.

    a();    // 오류 발생


    하지만 아래처럼 함수 선언에서 사용하는 것은 오류가 발생하지 않습니다.

    b = function() {

       a();

    };


    b를 호출할 때 오류가 발생합니다.

    b();   // 오류 발생


    이제 a를 선언하고 b를 호출하면 정상 작동합니다.

    a = function() { console.log('hello'); };   

    b();   // hello



    본문의 코드는 함수의 선언만 있고, 호출은 없습니다.

    나중에 어디선가 호출되겠지만, 그 때에는 이미 event도 선언되어 있는 상태입니다.

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.