코드/JS 43

함수의 프로토타입 속성

모든 함수 객체는 생성될때 자동으로 prototype 라는 속성이 추가된다. 이 prototype 속성은 함수의 생성과 동시에 만들어지는 함수의 원형 객체 즉 ‘함수의 프로토타입(원형) 객체’ 를 참조한다 생성자 함수를 이용해 생성되는 객체들은 함수의 프로토타입(원형) 객체 를 __proto__ 속성을 통해 공유하게 된다. 즉 함수를 만들게 되면 자동으로 함수의 프로토타입 객체(원형)가 생성되고, 함수는 생성과 동시에 추가된 prototype 이라는 속성으로 이 객체를 참조하고 있다 모든 함수는 생성될때 함수의 원형객체, 즉 프로토 타입 객체가 같이 생성된다. 함수는 생성과 동시에 추가되는 prototype 속성을 통해 함수의 원형객체를 참조한다. 생성자 함수를 통해 만들어지는 모든 객체는 __proto..

코드/JS 2015.04.21

컨텍스트, 스코프 체인

컨텍스트란 현재 실행되고 있는 코드를 소유하는 객체에 대한 참조 즉 this 에 대한 참조 다 자바스크립트 언어 환경에서 모든 함수는 생성될때 하나의 스코프 체인을 가진다. 스코프 체인은 함수의 호출과 관련된 여러 객체(기본적으로 글로벌 객체등)의 참조를 저장하는 메모리 공간이다. 스코프체인은 기본적으로 키와 값의 구조로 되어 있으며, 스코프 체인의 안쪽에 들어가는 객체들을 변수 객체라 한다. 생성된 스코프 체인의 내부에는 먼저 전역 객체(Global Object) 가 체인의 안쪽으로 자리잡게 된다. 이 공간을 흔히 전역 컨텍스트 ( Global Context ) 라고 하기도 한다. javascript 에서 this 란 현재 실행되고 있는 코드를 소유하는 객체, 즉 메모리 공간말하며 context 에 대..

코드/JS 2015.04.21

자바스크립트 배열 중복요소 추출

이런 배열이 있을 때, var arr = [1, 2, 3, 4,5,6,7, 1, 3, 5, 6, 2, 7, 1,4, 4, 100, 20, 4] [1, 1, 1][3, 3][4, 4, 4, 4]..... 이런식으로 중복되는 배열요소를 추출해서 각각 따로 배열로 만들어야 할 필요가 있었다.한참 헤매다 우왕님께 물어서 우왕아항님이 던져주신 힌트. function getMap(arr) { var resultMap = {}; for (var i in arr) { if (!(arr[i] in resultMap)) resultMap[arr[i]] = []; resultMap[arr[i]].push(arr[i]); } return resultMap; } 이러면 되는걸 너무 이상하게 생각했나보다

코드/JS 2015.04.20

팝업창에 데이터 전달하기.

그냥 결론은 폼서브밋으로 데이터 던져주는 형식같다. //Parent - var $form = document.getElementById('custForm') window.open("","popBizNum", "width=844 height=900 scrollbars=yes"); // $form.method="post"; $form.target="popBizNum"; $form.action="popBizNum.php"; $form.submit(); 저 폼 제쿼리 객체로 뽑으니 안되더라... //Pop var bisiNum = $(window.opener.parent.document).find('#busi_num').val(); alert(bisiNum)

코드/JS 2014.03.20

자바스크립트기초 - 프로토타입

출처 : http://insanehong.kr/post/javascript-prototype/ Javascript 기초 - Object prototype 이해하기 소개이번 글에서 다룰 내용은 자바스크립트의 프로토타입 상속(prototypal inheritance) 이라는 확장과 객체의 재사용을 가능하게 해주며 class 기반으로 인스턴스를 생성하지 않는 자바스크립트에서 객체지향적인 개발 개념을 가질수 있게 해주는 Prototype에 대한 내용이다. 하지만 일반적으로 자바스크립트에 대한 정공파가 아니면 제대로 이해하고 있지 않거나 이해 하기 힘든 부분이기도 하다. 그이유는 Prototype Object 와 Prototype Link을 제대로 구분하여 인지 하지 못하고 있기 때문일 것이다. 이번글을 통해서 ..

코드/JS 2013.12.06

컨텍스트, 스코프

출처 : http://devthewild.tistory.com/44 컨텍스트 vs 스코프 일단 명확히 해야할 중요한 것은, 컨텍스트와 스코프는 다른 것이라는 점이다. 부정확하게 두가지를 동시에 설명해서(?), 두 단어를 헷갈리는 많은 개발자들에게 지난 몇년간 이야기해왔다. 다시 말하자면, 단어 때문에 몇년동안 혼란스러웠던 것이다. 모든 함수의 실행은 스코프, 그리고 스코프와 연결된 컨텐스트를 갖는다. 근본적으로 따지자면, 스코프는 함수 기반이고, 컨텐스트는 객체 기반이다. 다시 설명하자면, 스코프는 함수가 실행될 때, 그리고 각각의 실행에 대해서 그 함수의 접근이 달라지는 것을 말한다. 컨텍스트는 항상 this 키워드의 값이며, 현재 실행되는 코드를 "소유하는" 객체의 레퍼런스를 가리킨다.

코드/JS 2013.12.05

프로토타입 심화

원본글 링크: http://cafe.naver.com/hacosa?1310101133000 개요 자바스크립트는 이전 강좌에서 말한 것처럼 확장을 전혀 고려하지 않는 함수 기반 형태로 주로 사용되고 있다. 하지만 웹 기술은 나날이 발전 하고 있고 쇼핑몰의 장바구니, 블로그 관리 페이지에서 볼 수 있는 통계 UI 등과 같은 인터랙티브 요소를 제공하는 사이트들이 점점 많아지고 있다. 그렇다면 자바스크립트와 그 확장에 있어서 중요한 것은 무엇일까? 그건 바로 프로토타입이다. Ajax과 최근에 대세(?)가 되고 있는 HTML5에 대한 관심이 방대한 자바스크립트 라이브러리와 대규모 웹 기반 어플리케이션 개발을 증폭시켰고, 이로 인해 확장성의 중요성이 한층 높아졌다. 프로토타입 자바스크립트에서 함수(또는 클래스)는 ..

코드/JS 2013.11.26