코드/JS 45

프로토타입 심화

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

코드/JS 2013.11.26

숫자 3단위마다 콤마 삽임

// 숫자 타입에서 쓸 수 있도록 format() 함수 추가 Number.prototype.format = function(){ if(this==0) return 0; var reg = /(^[+-]?\d+)(\d{3})/; var n = (this + ''); while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2'); return n; }; // 문자열 타입에서 쓸 수 있도록 format() 함수 추가 String.prototype.format = function(){ var num = parseFloat(this); if( isNaN(num) ) return "0"; return num.format(); }; // 숫자 타입 test var num = 1..

코드/JS 2013.11.21

jquery ready

DOM에 접근 할 때 완전히 생성되지 않은 DOM객체를 참조하려고 하면 문제가 발생한다. 그래서 onload 이벤트에 핸들러를 걸어주는데,onload 는 모든 리소스가 로드되고나서 발생하는 이벤트란 거다. 그러한 단점을 보완하기 위해서 jquery에서는 ready는 함수를 제공한다. ready는 DOM에 접근할 수 있는 시점을 알려준다. ie에서는 모질라계통 브라우저에서 지원하는 DOMContentLoaded functionality 가 없다. 그 비슷한 기능을 defer 속성을 이용해서 구현해 놓았다. defer속성은 W3C 표준 속성이지만 모질라 계열에서는 지원안하는거같다.

코드/JS 2013.10.23