bind 는 기존의 함수나 메소드 에 영향을 주지않고 임시로 추가적인 함수를 만들어서 기존의 함수에 적용 을 시킨다.
function SimpleURL(protocol, domain, path){
return protocol + "://"+domain+"/"+path;
}
1.ㅂㅏ인드를 ㅅㅏ용하지 않는 일반적인 방법
var urls=paths.map(function(path){
return SimpleURL("http",sitedomain,path);
});
2.바인드를 사용 하여 심플 하게 변경
기 존의 함수에 bind(this, arg,arg) 식으로 선언하면, arg 개수 를 가진 무명의 함수를 생성하여 이를 리 턴하고 다시 원래의 함수 를 호출(위임)하여 준다.
아래 예제에서는 simpleURL 에서는 this 등이 사용되지 않기 때문에 null 을 첫번째 인자로,
protocol과 domain 을 두번쨰 인자로 취하여 bind 가 새로운 함수를 생성한다음 함수리턴을 하고,
리턴된 함수 의 마지막에 path(map 에 의해 추출된 변수..여기서는 무명변수) 를 인자로 붙여 simpleurl 을 실행한다.
var urls=paths.map(SimpleURL.bind(null,"http",sitedomain));
2015년 3월 1일 일요일
커링 함수에 bind 사용하기
Related Posts:
Chrome 에서 이벤트 모니터 명령http://stackoverflow.com/questions/10213703/how-do-i-view-events-fired-on-an-element-in-chrome-web-developer monitorEvents($0) 모니터 OnunmonitorEvents($0) … Read More
JAVASCRIPT 상속 @,.@ 권장http://chaospace.tistory.com/194 권장… Read More
JAVASCRIPT 성능 최적화 스크립트는 body 최하단 자주쓰는 스코프 외부변수는 지연변수에 복사해서 쓰면 속도가 개선된다. for .. in 은 느리다. 대량 루프일때 반복횟수 줄이기 Duff's device , 제프 그린버그의 방법참고. ..대략 아는내용… Read More
객체지향 자바스클립트의 원리1장 원시타입과 참조타입: 자바스크립트는 일급함수이다.원시타입 : Boolean,Null,String,Number,Undefiend참조타입 : 객체를 말함. 객체는 참조를 한다음 반드시 null 해주는게 좋다.-프로퍼티의 접근 아래와 같은 경우도 가능하다.var array = [];var method = "push";array[method](12345); <- 즉 array.push(12345… Read More
이펙티브 자바스크립트이책은 사야됨 .정말로. 혼또우니~ == 비교는 절대금물, 자바스크립트는 지 맘대로 형변환을 하기때문에 == 비교는 절대 안됨. ===권장 전역변수는 아예 사용하지마라. 단 플랫폼에 대한 프로퍼티를 참고 할때만 전역변수에 접근해라. 지역변수 선언시 var 를 잊지마라. 잊는순간 전역변수가 될수도 있다. Closure 는 이해하기 어렵지만 익숙해지면 좀더 유연한 프로그래밍이 가능하다.별도 게시물 준비.… Read More
0 comments:
댓글 쓰기