SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     ADK (2)
     android (3)
     ASP (5)
     ASP.Net (1)
     C# (5)
     HTML (9)
     JAVA (6)
     JavaScript (9)
     jQuery (5)
     Mobile Web (2)
     Oracle (8)
     PHP (7)
     Spring Framework (4)
     SQL (15)
     WPF (5)
   ID  
   Password  
  |  
  Location United States
  IP Address 54.224.133.152
2018. 06
12
3456789
10111213141516
17181920212223
24
25
2627282930
Category  Languages, JavaScript
Writer 김태우 Date 2014-03-14 11:44:18 Visit 1078
About Function

 

Javascript Function

함수 정의 방법

1. function declaration(함수 선언식) 

 : 함수 선언식으로 정의된 함수는 자바스크립트 인터프리터가 스크립트가 로딩되는 시점에 바로 초기화 하고

이를 VO(Variable object)에 저장. 그렇기 때문에 함수 선언의 위치와는 상관없이 사용가능.

 

    // 함수선언식(function declaration)
    function company() {
        /* 실행코드 */
    }
 

2. function expression(함수 표현식)

runtime시에 해석되어 실행, 함수를 변수에 할당하여 사용할 경우 당연히 '함수표현식' 이후에 사용가능.
 
    // 기명 함수표현식(named function expression) 
    var company = function company() {
        /* 실행코드 */
    }; 
 
    // 익명 함수표현식(anonymous function expression)
    var company = function() {
        /* 실행코드 */
    };
 
    // 기명 즉시실행함수(named immediately-invoked function expression)
    (function company() {
        /* 실행코드 */
    }());
 
    // 익명 즉시실행함수(immediately-invoked function expression) - 권장 표기법
    (function() {
        /* 실행코드 */
    }());
 
    // 익명 즉시실행함수(immediately-invoked function expression)
    (function() {
        /* 실행코드 */
    })();
 

* 함수선언식으로 함수를 정의하면 사용하기는 쉽지만 대규모 Application을 개발하는 경우 인터프리터가

너무 많은 함수를 VO에 저장하므로 응답속도가 현저희 떨어질수 있음.

스크립트 파일을 모듈화 하고 이를 필요한 시점에 비동기 방식으로 로딩하여 http요청을 줄이고

응답속도를 향상할수 있음

 

 

Tags  function declaration, 함수 선언식, function expression,
  Relation Articles
[Languages-JAVA] JAVA JDBC/DBCP/JNDI (2018-04-12 16:47:35)
[Languages-android] Android Thread (2017-01-05 12:21:36)
[Languages-android] Android Application & Activity Lifecycle (2017-01-05 10:54:20)
[Languages-android] Android앱 개발시 로그인 처리(google, facebook) (2017-01-03 16:17:57)
[Languages-SQL] 테이블 정의서 (2016-06-29 20:25:11)
[Languages-C#] TextBox(with Border) on C# (2016-04-05 17:00:59)
[Languages-C#] ComboBox(with Border) on C# (2016-04-05 16:54:40)
[Tools-Util] Use the Git (2016-03-09 09:15:41)
[OperatingSystem-Linux] Linux 패키지 설치 - Tomcat8 (2016-03-07 15:59:26)
[Languages-Oracle] Oracle 기본(RAC) (2016-03-01 11:25:01)
  Your Opinion
Member ID
150 letters
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail