자바스크립트에서 변수는 "", 숫자 0, NaN, Null, Undefined 일 경우에는 false 나머지는 모두 true를 표현합니다. 변수 a에 "20050919 Firefox/1.0.7"이 저장된다고 가정했을 때 a는 true가 되겠지요. 아래 샘플을 참조하세요 a1 = true && true // t && t returns true a2 = true && false // t && f returns false a3 = false && true // f && t returns false a4 = false && (3 == 4) // f && f returns false a5 = "Cat" && "Dog" // t && t returns Dog a6 = false && "Cat" // f && t r..
Instance Properties Instance Method Class Properties Class Methods function Rec(x, y) { //Instance Properties //모든 instance of Rec가 각각의 속성을 가진다 this.x = x; this.y = y; } //Instance Method //each instance does not have its own copy of Instance Method Rec.prototype.area = function() { return this.x * this.y; } * instance property와 instance method는 object의 instance에서만 접근할 수 있다. ex) rec1.x; rec1.are..
위의 간단한 코드가 실행되지 않는 이유. javascript가 document보다 먼저 읽히기 때문이다. 이를 해결하기 위해서는 1. script를 document의 맨 마지막에 추가하거나, 2. body tag에 onload를 사용해서 추가하거나, 3. window.onload를 사용하는 방법 ex) window.onload = function() { o.a(); } 4. 기타 방법, http://blog.naver.com/kolove79?Redirect=Log&logNo=20037499574 참조 [RE] Window.onload problem http://peter.michaux.ca/article/553
Javascript OOP 공부할 때의 메모. 다시 읽어도 여전히 @_@... === 자바스크립트 심화학습: 1. 상속: http://blog.naver.com/jinoxst/140021971146 2. 은닉: http://blog.naver.com/jinoxst/140022107416 3. 종합: http://blog.naver.com/jinoxst/140022149160 * 사용 중 알게된 것들. - 은닉을 사용해서 getter, setter를 만들 때, this.변수명 호출은 되지 않음. 예) function A() { var a; this.getA = function() { return a; return this.a; //이렇게 할 경우, 호출되지 않음. a는 A()의 지역변수이기 때문인 듯 } ..
DOM Element에 css를 적용하는 방법은 아래와 같다. element.className = "my-class" is permitted for "class" attributes by DOM level 0; element.setAttribute("className", "my-class") is permitted for all attributes by DOM level 1; element.style.color = "#aa0000" is permitted only under DOM level 2. *참고: DOM Level이란? 1) DOM 스펙은 W3C에서 Level 단위로 만들어지고 있는데, 처음에 만든 권고안 DOM Level 1 이었고, 현재는 DOM Level 3 권고안까지 만들어진 상태이다. ..
1월에 작성했던 메모.... === Cross-Browser 문제를 절실히 실감하고 있당;; Firefox에선 제대로 돌아가는 것이 Explorer에선 잘 되지 않는다. 코드는 아래와 같다. function addOpt() { var sel = document.getElementById("sel"); //select box var opt = document.createElement("input"); opt.text = "optText"; opt.value = "optValue"; sel.appendChild(opt); } Firefox에선 잘 돌아가지만 익스플로러에선 opt.text가 적용되지 않는다. 이를 해결하기 위해선,.. 1) innerHTML을 사용한다. opt.text = "optText"; ..
예전 메모인데,.. xml 작성 규칙에 대한 얘기임. xml 작성 시 root node는 필수로 하나 있어야 함- ============= AJAX를 사용하여 서버에서 XML 형식으로 response를 작성하여 넘겼을 때, 응답으로부터 받아온 responseXML을 getElementsByTagName으로 파싱하여 사용하려고 했다. BUT, 전체를 감싸는 태그 없이 xml을 작성하였을 경우, tag 배열이 읽히지 않는 오류가 발생하였다.(IE 7) (예1) 01 ahn 02 hong (예1)과 같은 형태의 XML을 작성하여 서버에서 응답하였을 때, var users = xmlHttp.getElementsByTagName("user"); 를 사용하여 불러오면 제대로 불려지지 않는다. 이를 아래와 같이 수정..
알 수 없는 런타임 오류가 발생할 수 있는 가능성은 무지하게 많지만, IE에서는 발생하고 FireFox에서는 발생하지 않는다면 읽기전용 속성 태그에 ID를 부여하고 innerHTML을 사용했을 가능성이 있다. ** IE에서 COL COLGROUP FRAMESET HTML STYLE TABLE TBODY TFOOT THEAD TITLE TR 개체에서는 읽기 전용이고 그 외의 개체에서는 모두 읽기/쓰기이다. 디폴트값은 없다. =========================================================================== tbody에 tree구조로 row를 추가하는 게 귀찮아서 innerHTML을 사용하려고 했더니 발생한 에러 아무래도 row를 추가해줘야겠다.