본문 바로가기

IT/개발

자바스크립트 패턴

new를 빼먹고 객체를 생성하는 경우 내부의 this가 전역객체를 가리키게 된다.

new를 강제하는 패턴을 통해 막을 수 있다.

 

function Waffle(){

if(!(this instanceof Waffle)){

return new Waffle();

}

 

this.tastes = "yummy";

}

Waffle.prototype.wantAnother = true;

 

var first = new Waffle(),

second = Waffle();

 

console.log(first.tastes);

console.log(second.tastes);

 

console.log(first.wantAnother);

console.log(second.wantAnother);

 

 

콜백패턴 : 전달인자로 콜백함수를 전달해서 실행한다.

 

1.함수만 전달하는 경우

var findNodes = function(callback){

//...

if(typeof callback === "function"){

callback(found);

}

//...

};

 

2.함수와 객체를 전달하는 경우

var fileNodes = function (callback, callback_obj){

//...

if(typeof callback === "function"){

callback.call(callback_obj);

}

//...

};

 

3.객체를 전달하고 해당하는 메소드를 문자열로 전달하는 경우

var findNodes = function(callback, callback_obj){

if(typeof callback === "string"){

callback = callback_obj[callback];

}

 

//...

if(typeof calback === "function"){

callback.call(callback_obj);

}

//...

};

'IT > 개발' 카테고리의 다른 글

php 일단위로 for문 돌리기  (0) 2014.11.26
단일 연결 리스트 [singly linked list]  (0) 2014.11.25
php 배열 관련 함수  (0) 2014.04.16
php call by reference & php call by value  (0) 2014.04.15
php 문자열 함수  (0) 2014.04.10