SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     ADK (3)
     android (3)
     ASP (5)
     ASP.Net (1)
     C# (5)
     HTML (9)
     JAVA (7)
     JavaScript (9)
     jQuery (5)
     Mobile Web (2)
     node.js (1)
     Oracle (8)
     PHP (7)
     Spring Framework (4)
     SQL (17)
     WPF (5)
   ID  
   Password  
  |  
  Location United States
  IP Address 18.97.14.87
2024. 12
1234567
89101112
13
14
15161718192021
22232425262728
293031
Category  Languages, JavaScript
Writer 김태우 Date 2014-03-14 11:44:18 Visit 2240
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-SQL] DB hierarchy 테이블 쿼리(hierarchy) (2020-04-24 09:46:06)
[Languages-SQL] ORACLE PROCEDURE SAMPLE (2019-08-30 18:08:49)
[Languages-JAVA] (2019-07-31 11:51:54)
[Languages-ADK] TEST (2019-07-17 15:14:01)
[Languages-node.js] NODE 설치 (2019-02-19 13:22:43)
[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)
  Your Opinion
Member ID
150 letters
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail