Roel Notebook

[JS] Function 오브젝트

by Roel Downey
728x90
반응형

프로퍼티 리스트

Function

- new Function() : 인스턴스 생성

- Function() : 인스턴스 생성

Function 프로퍼티

- length : 함수의 파리미터 수 

Function.prototype

constructor : 생성자

call() : 함수 호출

apply() : 함수 호출 : 배열을 파라미터로 사용

toString() : 함수를 문자열로 반환

bind() : 새로운 오브젝트를 생성하고 함수 실행

 

 

 

- new Function() : 파라미터 2개 이상 작성

예)

var obj = new Function("one" , "two" , "return one+ two;");
console.log(obj(100,200));

실행 결과 )

300

 

 

파라미터 하나 작성

예)

var obj = new Function("return 1+ 2;");
console.log(obj());

실행 결과 )

3

 

 

- function 분류

    - 빌트인 Function 오브젝트

    - function 오브젝트

    - function 인스턴스 ( new 연산자 사용)

 

- function 오브젝트 생성 방법

    - function 키워드 사용

    - function getBook(title) { return title};

 

- JS 엔진이 function 키워드를 만나면

    - 이름이 getBook 인 function 프로젝트 생성

 

 

함수의 생명 주기

함수 호출

예)

function getBook(title) {
    retrun title;
};

var result = getBook("JS");
console.log(result);

실행 결과 )

JS

 

 

함수 형태

함수 선언문

- Function Declaration

-ex) function getBook(book) { 코드 }

함수 표현식

- Function Expression

-ex) var getBook = function(book){코드}

 

call() 

예)

getTotal.call(this,10,20); : this로 참조할 오브젝트, 호출된 함수로 넘겨줄 파라미터 값 10,20

function getTotal(one,two) {
    retrun one+two;
};

var result = getTotal.call(this,10,20);
console.log(result); //30

실행 결과 )

30

 

 

call() 

예)

일반적으로 this 사용, 다른 오브젝트 작성 가능

var value = {one : 10, two : 20 };
function getTotal() {
    retrun this.one+this.two;
};

var result = getTotal.call(value);
console.log(result); //30

실행 결과 )

30

 

 

apply() : 파라미터에 배열 사용

예)

getTotal.apply(this,[10,20]);

function getTotal(one,two) {
    retrun one+two;
};

var result = getTotal.apply(this,[10,20]);
console.log(result); //30

실행 결과 )

30

 

 

728x90
반응형

'Web > JavaScript' 카테고리의 다른 글

[JS] Object 오브젝트  (0) 2022.01.17
[JS] String 오브젝트  (0) 2022.01.13
[JS] Number 오브젝트  (0) 2022.01.12
[JS] 오브젝트(Object)  (0) 2022.01.04
[JS] 함수(Function)  (0) 2022.01.03

블로그의 정보

What doing?

Roel Downey

활동하기