본문 바로가기

Study Memos/JavaScript Basic

(28)
함수 호출 (Seciton 22) 참고> opentutorials.org/course/743/6550 1. 기본 방법 : funct(a, b); 2. apply : func.apply(null, [a, b]); 3. apply를 왜쓰냐? - 함수 내부에서 'this' 키워드를 쓸 때 이 'this' 를 특정하기 위해 apply 를 사용 - apply의 첫번째 인자로 'this'로 가리킬 객체를 전달 - apply의 첫번째 인자를 null로 쓸거면 그냥 기본 방법대로 호출하는 게 훨씬 나음. null로 넣는데 apply를 쓰면 바보임. - call 함수도 apply 함수와 비슷한 일을 함.
arguments(Section 21) 참고> opentutorials.org/course/743/6548 1. 배열과 비슷하지만 배열은 아니다! 2. Javascript는 매우 관대해서 매개변수 없는 함수를 호출할 때 인자를 넣더라도 동작한다.. 이 경우 함수 내에서 arguments 라는 키워드로 전달된 인자에 접근이 가능하다. 3. 인자로 몇개가 들어올 지 특정지을 수 없을 때 유용하게 사용 가능. 4. 함수이름.length: 함수 선언 시 지정된 매개 변수의 수 5. arguments.length: 실제 함수 호출 시 인자로 넘어온 매개 변수의 수
클로저 (Section 20) 참고> opentutorials.org/course/743/6544 1. 클로저 : 내부 함수가 외부 함수의 맥락(context)에 접근할 수 있는 것 2. 내부함수: 함수 내의 함수 중 안쪽에 있는 함수 3. 외부함수 : 함수 내의 함수 중 바깥쪽에 있는 함수 4. 내부 함수는 외부 함수의 지역 변수에 접근 가능 5. 클로저를 사용하면 private variable을 사용할 수 있음. -> 내부 함수가 리턴될 때 각자의 맥락(context)을 가지기 때문. ex) function factory_movie(title){ return { get_title : function (){ return title; }, set_title : function(_title){ title = _title } } } gh..
값으로서의 함수와 콜백 (Section 19) 참고> opentutorials.org/course/743/6508 1. Javascript에서는 함수도 객체임. 즉, 일종의 값임. Javascript에서 다른 언어와의 차이점은 함수가 값이 될 수 있다는 점이다. 2. 메소드 : 객체 안에 선언된 함수 3. 함수를 배열에 넣어서도 사용 가능 ex) var process = [ function(input){ return input + 10;}, function(input){ return input * input;}, function(input){ return input / 2;} ]; var input = 1; for(var i = 0; i < process.length; i++){ input = process[i](input); } alert(inpu..
유효 범위 (Section 18) 참고> opentutorials.org/course/743/6495 1. 유효 범위 (Scope) : 변수의 수명 - var 을 함수 밖에서 쓰면 전역 변수, 함수 안에서 쓰면 지역 변수 - for문을 함수 밖에서 쓰면 얘도 전역 변수를 선언해버릴 수 있다. ex) for(var i = 0; i 전역 변수를 단 하나만 쓰고, 더 필요한 전역 변수들은 맨 처음에 만든 그 변수 안에서 선언하자. ex) MYAPP = {} MYAPP.calculator = { 'left' : null, 'right': null } MYAPP.coordinate = { 'left' : null, 'right' : null } MYAPP.calculator.left = 10; MYAPP.calculator.right = 20; ..
함수 지향 (Section 17) 참고> opentutorials.org/course/743/6583 1. 자바스크립트의 핵심적인 도구는 함수이며, 자바스크립트의 함수는 매우 강력하다. 앞으로의 몇 Section 동안 함수형 언어로서의 자바 스크립트를 다룰 것이다.
정규 표현식 (Section 16) 참고> opentutorials.org/course/743/6580 1. regex를 표현할 땐 / 를 사용 ex) var pattern = /a/; 2. regex를 RegExp 객체 생성으로 표현할 수도 있음 ex) var pattern = new RegExp('a'); 3. 문자열 추출: exec() 함수 ex) pattern.exec('abcde'); 4. 문자열 확인: test() 함수 ex) pattern.test('abcde'); 5. 정규 표현식의 옵션 - i : 대소문자를 구분하지 않음 - g : 패턴에 해당되는 모든 문자열을 찾음 6. 정규표현식을 visualizing 해주는 사이트도 regex 이해에 도움이 됨 -> regexr 7. 캡처 기능 : 괄호안의 패턴을 변수처럼 재사용 가능..
UI 와 API 그리고 문서보는 법 (Section 15) 참고> opentutorials.org/course/743/6533 1. 자바스크립트 자체의 API - ECMAScript (이거 보고 개발하는 건 조금 어렵긴 함.. 보면 좋긴 하지만..) - 생활코딩 JavaScript 사전 (ECMAScript를 좀 더 쉽게 풀어논 버전) - 자바스크립트 레퍼런스 (MDN, Firefox를 만든 Mozilla 재단에서 만듦) - jscript 레퍼런스 (MSDN) 2. 자바스크립트 호스트 환경의 API - 웹브라우저 API - NodeJS API - Google Apps Script API