7월, 2013의 게시물 표시

TDD 개발 순서

TDD의 과정을 단계별로 요약하면 다음과 같은 과정이 된다.  테스트를 작성한다.  작성한 테스트를 통과할 수 있도록 가장 빠른 방법으로 코드를 작성한다. 이 과정에 중복된 코드를 만들어도 상관 없다.  테스트를 수행한다.  테스트를 통과하면 작성한 코드에서 중복을 제거한다. 아니면 2번으로 돌아간다.  테스트를 수행한다.  테스트를 통과하면 완성. 다음 테스트를 1번부터 시작한다. 실패하면 4로 돌아가서 디버깅한다.  참고 :  http://xper.org/wiki/xp/TestDrivenDevelopment

javascript this 유효 범위 변경 함수

apply(), call() 함수.apply() 는 첫번째 파라미터에 함수 내의 this가 되고자 하는 객체, 두번째 파라미터는 배열로 함수의 인자값을 넣는다. 함수.call()는 apply와 동일한 기능을 하며 단 함수의 인자는 배열이 아니 파라미터 나열로 한다. /*** 참고 소스 function callName(a,b){ return this.name(a,b); } var Car = { name : function(a,b){ return “kia” +a+ b;} }; var Car2 = { ame : function(a,b){return “deawoo” +a+ b;} } callName.apply(Car,[1,2]); // kia12 callName.apply(Car2,[1,2]); // deawoo12

javascript closer

참고 :  http://dev.naver.com/tech/ajaxui/ajaxui_2.php#a_2_2 function buildList(list) {     var result = [];     for (var i = 0; i < list.length; i++) {         var item = 'item' + list[i];         result.push( function() {alert(item + ' ' + list[i])} );     }     return result; } function testList() {     var fnlist = buildList([1,2,3]);     for (var j = 0; j < fnlist.length; j++) {         fnlist[j]();     } } testList(); 위를 실행하면 alert(item3 undefined)가 3번 수행된다. ** 이해 하기 위해서는 함수 자체가 상태를 지닌 객체라고 인식 하면 편할 것 같다. 즉 buildList에서 var로 선언한 부분은 멤버 변수이고 클로저는 멤버 함수의 역할을 한다고 생각하면 이해가 될꺼 같다. =_= 이런것도 모르고 있었다니. ㅠㅠ 다시 기초부터 천천히 gogogo~