일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 순열 재귀
- inner class
- 자바 조합 재귀
- 자바스크립트 이벤트처리
- char to str
- 서로소
- str to char array
- 자바입출력
- 자바 순열 코드
- Interface
- 자바 재귀 조합
- 순열코드
- java 내부 클래스
- 알고리즘
- 자바
- 재귀함수
- java Collections.sort()
- jquery 속성선택자
- jquery 이벤트 처리
- Java
- 조합 재귀
- jquery dom 계층 선택자
- 자바스크립트 이벤트중지
- parseInt()
- 후위표기
- jquery 필터선택자
- 재귀
- 알고리즘 그래프
- 상속
- java lambda
- Today
- Total
목록JavaScript & jQuery (43)
유블로그
변수와 함수는 유효범위가 있다. 자바스크립트는 C 와 달리 for 문이나 if 문의 { } 이 유효범위가 없다. 함수만이 유효범위의 단위! 이 유효범위는 [[scope]] 프로퍼티로 각 함수 객체 내에서 연결 리스트 형식으로 관리된다. 이것을 스코프 체인이라고 한다. var var1 = 1; var var2 = 2; function func() { var var1 = 10; var var2 = 20; console.log(var1);// 10 console.log(var2);// 20 } func(); console.log(var1);// 1 console.log(var2);// 2 위 코드를 실행하면 전역 실행 컨텍스트가 만들어지고 func() 함수 객체가 만들어진다. func()는 전역 실행 컨텍스트..
실행컨텍스트는 C의 콜스택과 비슷하다. 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이다. 실행 가능한 자바스크립트 코드 블록(대부분 함수)이 실행되는 환경이라고 할 수 있다. 실행 컨텍스트가 생성된 후 실행 순서 1. 활성 객체 생성 실행 컨텍스트가 생성되면 자바스크립트 엔진이 그 컨텍스트에서 필요한 객체를 생성하는데 그것을 활성 객체라고 한다. 매개변수, 정의한 변수, 객체를 저장한다. 2. arguments 객체 생성 1의 활성 객체는 arguments 프로퍼티를 가지고 있는데, 그 프로퍼티가 이 arguments 객체를 참조한다. 3. 스코프 정보 생성 현재 컨텍스트 유효 범위를 나타내는 스코프 정보를 생성한다. 연결 리스트와 유사한 형식이다. 이 리스트로 현재 컨텍스트의 변수, 상위 실행..
자바스크립트는 프로토타입 기반의 객체지향 프로그래밍을 지원한다. 자바스크립트는 클래스 개념이 없으므로 객체 리터럴이나 생성자 함수로 객체를 생성하는데, 이 때 생성된 객체의 부모 객체가 프로토타입 객체이다. 상속과 비슷하게 자식 객체는 부모 객체가 가진 프로퍼티 접근, 메서드를 상속받아 호출이 가능하다. 전 글의 그림을 들고와서 보면 yj 객체가 부모 객체의 프로토타입 객체를 [[Prototype]] 객체로 링크를 한다(참조링크형태) 결국 생성된 객체의 실제 부모 역할을 하는 건, 생성자 자신(Person) 이 아닌, 생성자의 prototype 프로퍼티가 가리키는 prototype 객체인 것이다. 프로토타입 체이닝 프로토타입 체이닝 덕분에 객체는 자신의 프로퍼티 뿐 아니라 부모 역할을 하는 프로토타입 객..
arguments 객체 function func(arg1, arg2) { console.log(arg1, arg2); }; func();// undefined undefined func(1);// 1 undefined func(1,2);// 1 2 func(1,2,3);// 1 2 함수를 호출할 때 같이 넘긴 인자들이 arguments 라는 유사 배열 객체에 담겨 전달된다. 이 객체의 구성은 함수 호출 시 넘겨진 인자들 : 유사배열 형태로, 첫번째 인자는 0번 인덱스, 두번째 인자는 1번 인덱스.. 에 저장됨. 배열은 아니므로 배열 함수 사용 불가 length 프로퍼티 : 전달된 인자 개수 callee 프로퍼티 : 현재 실행중인 함수의 참조값 가 있다. arguments 객체는 매개변수 개수가 정확하게 ..
콜백 함수 익명함수의 대표적인 용도가 콜백 함수이다. 콜백 함수란 특정 이벤트 발생 혹은 시점에 도달했을 때 시스템에서 호출하는 함수이다. 자바스크립트의 이벤트 핸들러 처리가 대표적이다. 즉시 실행 함수 함수를 정의함과 동시에 실행되는 함수다. 함수 리터럴을 괄호 ( ) 로 싸고, 그 뒤에 괄호 ( )를 또 넣어서 안에 인자를 전달하면 된다. (function (x) { console.log(x); })(5); // 출력: 5 즉시 실행 함수는 한 번만 호출가능하다. 그래서 최초 한 번 실행만 필요한 초기화 코드를 실행하는데 쓰면 좋다. 내부 함수 함수 내부에 정의된 함수를 내부 함수라고 한다. 클로저 생성, 부모 함수에서 외부에서의 접근을 막고 독립적인 함수 구현 용도로 쓴다. function pare..
var add = function (x, y) { return x + y; }; add.result = add(3,2); add.status = 'OK'; console.log(add(4,3));// 7 console.log(add.result);// 5 console.log(add.status);// OK 함수도 객체처럼 프로퍼티를 가질 수 있다. 자바스크립트에서 함수도 객체로 값으로 취급된다 ! 리터럴에 의해 생성 변수나 배열의 요소, 객체의 프로퍼티 등에 할당 가능 함수의 인자로 전달 가능 함수의 리턴값으로 리턴 가능 동적으로 프로퍼티 생성 및 할당 가능 위와 같은 특징으로 함수는 일급 객체라고 부른다. 위키백과의 일급 객체 정의이다. 저 조건이 만족하면 일급 객체라고 한다. (1) 변수나 프로퍼티..
함수 정의 3가지 방법 함수 선언문 함수 표현식 Function() 생성자 함수 1. 함수 리터럴(함수 선언문) function add(x, y) { return x + y; } console.log(add(3,4));// 7 2. 함수 표현식 함수 리터럴로 함수를 만들고, 변수에 할당하여 생성하는 방식. var add = function (x, y) { return x + y; } var plus = add; console.log(add(3,4));// 7 console.log(plus(3,4));// 7 여기서는 function 키워드 뒤에 함수명 없어도 된다. add는 함수 이름이 아니라 함수를 참조하는 변수다. plus도 add가 참조하는 값을 그대로 받을 수 있다. var add = functi..
+ 연산자 var add1 = 1 + 2; var add2 = 'hello' + 'world'; var add3 = 1 + 'string'; var add4 = 'string' + 2; console.log(add1);// 3 console.log(add2);// helloworld console.log(add3);// 1string console.log(add4);// string2 typeof 연산자 숫자 number 문자열 string 불린값 boolean null object undefined undefined 객체 object 배열 object 함수 function == vs === == : 타입이 다르면 타입 변환 후 비교 === : 타입이 달라도 그냥 비교 console.log(1 == '1..