본문 바로가기

Web

(11)
Parameter & Argument Parameter (매개변수, 파라메터) 함수 선언시 넘김을 받는 값 Argument(인수)는 함수를 호출 시 매개변수에 넣어주는 값을 말한다.. 이해가 잘 안가면.. 다음을 보자. function Parameter(x,y){ alert("이곳은 파라메터 또는 매개변수" + x,y); } Parameter('아규먼트1','아규먼트2'); 아직도 잘 모르겠는가? 그럼 다음을 보자 매개변수의 뜻을 백과사전에서 찾아봤다. 몇 개의 변수 사이에 함수관계를 정하기 위해서 사용되는 또 다른 하나의 변수 다음은 국어사전의 인수의 뜻. 정수 또는 정식을 몇 개의 곱의 꼴로 하였을 때에, 그것의 각 구성 요소를 이르는 말 백과사전과 국어사전은 뭔 소리인지 모르겠다 -_-
div 안의 ul태그 li태그 DIV 태그 안에 DIV 태그 안에 UL 태그 안에 LI 태그를 쓰면 리스트들이 DIV 태그를 벗어나는 경우가 있다. IE에서는 괜찮은데 firefox 에서는 확실히 벗어난다. 아래의 코드를 보자.. div { border: 1px solid black; width:200px; } ul { list-style:none; margin:0; padding:0; } li{ margin: 0 0 0 0; padding: 0 0 0 0; border: 0; float:left; } 안의내용 안의내용1 안의내용2 위와 같이 코딩을 하고 브라우저 창에서 보면 div는 검은색은 1px 의 두께의 선이 생기지만 "안의내용"은 div 바깥에 생성이 된다. 이것을 해결하려면 마지막의 li 태그에 float:left; 속성을..
A JavaScript Module Pattern Module Pattern은 작년 6월에 이야기가 나온것이다.. 작년 6월이라하면... 한참 ASP가지고 씨름을 하고 있는... 그야말로 초보의 생초보... 프로그램의 개념도 안가지고 있고 그저 단순히 Copy & Paste 만 죽어라 하고 있을때다.. Javascript 공부는 하고 있었지만 그 실력이라는 것은 그야말로 최하급.. 그런그때 이야기가 나온것을 나는 2달전에야 이런 패턴이 있다는것을 알았고 (ExtJs 공부하면서..물론 prototype.js 1.6.0 버전에도 있다 그 전에도 있나?) 이것이 Eric씨가 A JavaScript Module Pattern 이라고 지었다는것을 어제 알았다... 아무튼 내가 얼마나 시대에 뒤떨어져 살아가는지 충분히 깨닳게 해준 글이었던거 같다. 그래서 A Ja..
Code Conventions for the JavaScript Programming Language Code Conventions for the JavaScript Programming Language 본 문서는 Douglas Crockford 의 자바스크립트 코딩 컨밴션과 YUI 공개 컨밴션을 기본 문서로 하여 작성된 자바스크립트 토딩 컨밴션 문서다. Javascript File (코드 파일) - 자바스크립트 포르그램은 .js 확장자로 저장 - 특정 세션 또는 페이지 로직을 위한 코드가 아니면 HTML 파일과 별도의 파일로 저장. - 태그를 의 최대한 밑부분에 위치시켜야 한다. 이것은 스크립트 로딩/파싱으로 인한 지연을 피할 수 있다. 서버가 MIME type을 정하기 때문에 language 또는 type 속서을 안 써도 된다. Indetation (들여쓰기) - 들여쓰기의 기본 단위는 4개의 스페이..
__proto__ 와 construct 와 prototype Javascript 클래스에서 상속에 관해 들어가기전에 앞의 4개의 포스팅에 관해 다시 한번 정리하고 넘어가겠다. __proto__ 는 function A() {}; var B = new A(); 에 관해 B.__proto__ == A.prototype 이것이 성립되고. B.__proto__ == B.constructor.prototype 이 성립된다.. 여기서 조금 이해가 안가시는 분은 다음을 보시면 된다. B.__proto__.prototype == B.constructor.prototype.prototype 이렇게 된다. 다른건 다 두고서라도 이것에 관해 집고 넘어가겠다. firefox 와 오페라 9.5(분명 비표준인데 이번에 __proto_ 속성을 추가했다.. 이 시대를 역행하는 오페라 -_-)_..
prototype과 __proto__ 와 constructor 이걸 4개의 포스트에 걸쳐 쓰게 될 줄은 몰랐다. -_- 처음에는 가볍게 시작한 공부였으나.. (이건뭐... 보면볼수록 새로운게 나오니... -_-) 말 그대로 시작은 미미했으나 끝은 창대하리라... 허어... -------------------------------------------------------------------------------------------------- 다시 정리해보자 constructor : 초기화에 사용된 함수(오브젝트) prototype: 확장하기 위한 오브젝트 (constructor로 초기화된 오브젝트에 대해서) __proto__ : 프로토타입 오브젝트(프로퍼티가 발견되지 않았을 때에 탐색하러 가는 오브젝트) 이렇게 되는 것인데... (브라우져 마다 틀리다.. -_..
__proto__ 와 prototype에 대해.. 오브젝트의 특징으로서 모든 오브젝트는 __proto__ 프로퍼티를 가진다. 그리고 모든 함수오브젝트는 prototype 프로퍼티를 가진다. 또 new 에 의해서 작성된 오브젝트의 __proto__ 프로퍼티에는 그 함수의 prototype이 설정되어 __proto__ 는 constructor프로퍼티를 가진다. 이 constructor 프로퍼티는 new 한 함수 오브젝트를 가리키고 있다.. 이게 뭔 소리여 -_- 전에 했던 말과 다르다.. 분명한것은 익스플로어에서는 없어졌다는 것이다... 하지만 계속 봐보자. 아래와 같은함수 Parent.Child가 있다. function Parent() { } function Child() { } Child.prototype = new Parent(); 단순한 계승관계이다..
Javascript의 클래스에 관한 이야기 Javascript 에서 클래스를 만드는 방법은 몇가지 방법이 있다.. 그중에 기본적인 2가지만 하겠다. 첫번째로 var Position = function(x, y) { this.xpos = x; this.ypos = y; }; 위와 같이 생성자가 있으면 메소드를 정할 수 있다. 메소드를 정의 하는 방법은 2가지가 있다. 지금은 쓰지 않고 예전에 많이 썻던 방법이 있다. var Position = function(x,y) { this.xpos = x; this.ypox = y; this.distance = function() { var x2 = this.xpos * this.xpos; var y2 = this.ypos * this.ypos; return Math.sqrt(x2 + y2); }; }; 위..