정확히 말하면 ECMA 스크립트의 특징이지만 뭐… ^^
첫번째, 객체의 생성
1 var arr = []; 2 var obj = {}; 3 var str = ""; 4 var arr1 = [1,2,3]; 5 var obj1 = {prop1 : 'value1', "prop2" : 'value2'};
Object는 {} 로, Array는 []로 생성할 수 있다. object 를 생성할 때 property 의 이름은 따옴표를 따로 해주지 않아도 prop1의 경우처럼 그냥 사용할 수 있다. 하지만, 혹시라도 있을지 모르는 문제점(prop1이 변수로 선언되어있다던가 하는…)을 미리 방지하기 위해서 따옴표를 붙여주도록 하는게 좋다. 단, 충돌이 없음이 확실하다면 생략해도 무방하다.
두번째, object property의 접근
1 var obj = { "prop1" : "value1", "prop2" : "value2" }; 2 alert(obj.prop1); 3 alert(obj["prop1"]);
. 으로 호출하는 방법, 문자열로 인덱스를 지정하는 방법. 둘 다 사용가능하다. 따라서 다음과 같은 것도 가능하다.
1 var i=2; 2 alert(obj["prop"+i]);
세번째, or 의 사용
1 var val = predefined_value || "value";
or 연산자로 연결된 값을 처음부터 비교해서 false와 동등하게 처리되는 값이 아니라면 반환한다. false와 동등하게 처리되는 값에는 undefined, null, 숫자0, false가 있다. 위 코드에서는 predefined_value 라는 변수가 정의되어있지 않으면 “value”이라는 값을 val 이라는 변수에 할당한다. 보통 IE와 FF의 이벤트 처리가 다른데 그럴 경우에 다음과 같이 사용하기도 한다.
1 function eventHandler(e) { 2 var evt = e || window.event; 3 // ... some code 4 }
네번째, 괄호()의 사용
1 (function(str){ 2 alert(str); 3 })("str");
괄호는 괄호안의 내용을 해석/실행해서 결과값을 리턴하는 역할이다. (1+2) 라고 하면 괄호는 1+2를 계산해 3 이라는 값을 리턴하는 것과 마찬가지라는 뜻. 따라서 위처럼 anonymouse 함수를 만들어놓고 바로 실행할 수도 있게된다(괄호를 통해 함수객체가 반환되었기 때문).
출처 : 행복한 고니
'소프트웨어 > JavaScript • Dhtml' 카테고리의 다른 글
1/3로 크기로 압축된 Prototype.js (0) | 2007.04.11 |
---|---|
자바스크립트 미디어 플레이어 - JSMP (0) | 2007.04.11 |
URL query String 간단하게 사용하기 (0) | 2007.04.10 |
IE7.0 에따른 이슈사항들 (0) | 2007.02.07 |
불법 펌질하는 내용에 경고문을 따라붙게 하는 방법 (0) | 2006.12.30 |