검색결과 리스트
함수 정의법에 해당되는 글 1건
- 2012.06.20 [JavaScript] 함수를 정의 하는 세가지 방법
함수를 정의 하는 방법에는 3가지 방법이 있다고 한다.
1. function 명령으로 정의 ( 함수 선언식)
function 함수명 ( 인수 1, 인수 2) { 명령; return 리턴값 } |
2. Function 생성자 경유로 정의
var 변수명 = new Function ( '인수1', '인수 2', 'return 함수 본체' ); |
3. 함수 리터럴 표현으로 정의 ( 함수 표현식)
var kazikai=function 함수명 (인수1, 인수 2) { 명령; return 리턴값 } |
사실상 1번과 3번을 많이 사용
1번과 3번의 차이는
1번의 경우 는 함수를 직접 정의 하는것이며
3번은 익명 함수를 하나 만들어서 변수kazikai에 대입하는 방식을 사용
2번의 경우는 인수1, 인수2 , 리턴 값들을 String 으로 표현 가능
즉 var a= "인수 1, 인수2";
var b="return 함수 본체";
이런식으로 한다음 var kazikai=new Function ( a,b); 같이 선언이 가능 하다는 것
하지만
: 제 3자에 의해 임의의 스크립트가 자기 멋대로 실행 될수 있는 가능성
: 일반적인 코드를 실행하는 것보다 처리속도가 늦다.
이 문제 때문에 가급적 사용을 피해야함.. ( eval() 함수도 동일 )
여기어 1번의 function 으로 정의 하는 방법과 3번의 리터럴 표현으로 정의 하는 방법이 있는데
1번의 경우는 Browser의 JavaScript Interpreter 가 해당 function 들을 부모 함수의 스코프 영역에 등록 한다. 하지만 3번의 경우는 실행 할 경우 해당 함수가 선언 되기 때문에 호출 시점보다 선언 시점이 먼저 있다면 정의 되지 않은 함수가 된다.
<base> tag 사용법 (0) | 2012.09.23 |
---|---|
[JavaScript] 함수를 정의 하는 세가지 방법 (0) | 2012.06.20 |
JavaScript 의 내장형 객체 종류 (0) | 2012.06.15 |
javascript Ternary operation (0) | 2012.05.30 |
JavaScript Library 를 로딩 해주는 library (0) | 2012.05.29 |
ECMS-263 을 잘 설명해놓은 article (0) | 2012.05.24 |
댓글