일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 후위표기
- jquery 필터선택자
- 자바 조합 재귀
- jquery 이벤트 처리
- jquery 속성선택자
- java lambda
- 순열코드
- inner class
- 자바입출력
- char to str
- 조합 재귀
- 재귀함수
- 순열 재귀
- 상속
- parseInt()
- 자바스크립트 이벤트중지
- jquery dom 계층 선택자
- 서로소
- 자바스크립트 이벤트처리
- 알고리즘 그래프
- 자바 순열 코드
- 자바
- 재귀
- java 내부 클래스
- 알고리즘
- Java
- java Collections.sort()
- 자바 재귀 조합
- str to char array
- Interface
- Today
- Total
목록JavaScript & jQuery (43)
유블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/HRdZ2/btq7MbGzaf0/wBFLN2RxmZ9X3GwhUXInj0/img.png)
변수와 함수는 유효범위가 있다. 자바스크립트는 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()는 전역 실행 컨텍스트..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cRF50y/btq7HDXmpDK/NVRlxwgmBksoMmZcahkrpK/img.png)
실행컨텍스트는 C의 콜스택과 비슷하다. 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이다. 실행 가능한 자바스크립트 코드 블록(대부분 함수)이 실행되는 환경이라고 할 수 있다. 실행 컨텍스트가 생성된 후 실행 순서 1. 활성 객체 생성 실행 컨텍스트가 생성되면 자바스크립트 엔진이 그 컨텍스트에서 필요한 객체를 생성하는데 그것을 활성 객체라고 한다. 매개변수, 정의한 변수, 객체를 저장한다. 2. arguments 객체 생성 1의 활성 객체는 arguments 프로퍼티를 가지고 있는데, 그 프로퍼티가 이 arguments 객체를 참조한다. 3. 스코프 정보 생성 현재 컨텍스트 유효 범위를 나타내는 스코프 정보를 생성한다. 연결 리스트와 유사한 형식이다. 이 리스트로 현재 컨텍스트의 변수, 상위 실행..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cfk8A1/btq7EdZxMN1/5VTB5IK5HMtuKl3HyOhEE1/img.png)
자바스크립트는 프로토타입 기반의 객체지향 프로그래밍을 지원한다. 자바스크립트는 클래스 개념이 없으므로 객체 리터럴이나 생성자 함수로 객체를 생성하는데, 이 때 생성된 객체의 부모 객체가 프로토타입 객체이다. 상속과 비슷하게 자식 객체는 부모 객체가 가진 프로퍼티 접근, 메서드를 상속받아 호출이 가능하다. 전 글의 그림을 들고와서 보면 yj 객체가 부모 객체의 프로토타입 객체를 [[Prototype]] 객체로 링크를 한다(참조링크형태) 결국 생성된 객체의 실제 부모 역할을 하는 건, 생성자 자신(Person) 이 아닌, 생성자의 prototype 프로퍼티가 가리키는 prototype 객체인 것이다. 프로토타입 체이닝 프로토타입 체이닝 덕분에 객체는 자신의 프로퍼티 뿐 아니라 부모 역할을 하는 프로토타입 객..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zOcD2/btq7EeRjccG/OsNdmgjBn0vIx0AlgPp4HK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ecU5EU/btq7C3WbOhP/PXE9ztKN8O8qEOanDjuUFK/img.png)
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) 변수나 프로퍼티..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Hci3Z/btq7yhBvHQd/6LVK4R3xJ1XxVVpbvKVg80/img.png)
함수 정의 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..