본문 바로가기

alert가 window.alert의 줄임말이라는 사실을 믿을 수 있는가? alert가 window.alert의 줄임말이라는 사실을 믿을 수 있는가?(정말 믿을 수 없다! confirm도 마찬가지다!) 더 심각한(?) 사실은 document 조차 window.document의 줄임말이라는 점이다!(location도 이와 동일하다!) 이처럼 window는 자바스트립트에서 전역 객체의 역할을 담당하며(절대로 벗어날 수 없는 부처님 손바닥과 같은!) 생략 또한 언제든지 가능하다!(더 충격적인 사실을 소개하겠다. window.open 대신에 그냥 open을 써도 정상적으로 동작한다! window.addEventListener도 마찬가지다! 관행적으로 이렇게 쓰는 것이지 생략해도 이론적으로는 아무런 문제가 없는 것이다!) 더보기
window.attachEvent 대신 window.addEventListener를 사용하자. window.attachEvent는 구시대(?)의 산물이다.(표준에 전혀 맞지 않는 오직 MS 독자적인 문법!) IE8까지는 그럭저럭 사용되었지만 IE9부터는 지원이 중단되었으며(deprecated) IE11부터는 완전히 제거되었다!(MS가 과거의 잘못을 반성하고 표준에 맞추려는 시도를 하고 있는 것인가?) W3C 표준은 window.addEventListener이다!(하지만 아직도 IE8을 쓰는 사람들이 많으니...) 크로스 브라우징을 위한 제일 간편한 방법은 jQuery를 사용하는 것이지만 다음과 같은 방법도 이용할 수 있을 것이다! if(window.addEventListener) { window.addEventListener('onclick', myFunc); } else if(window.att.. 더보기
document.getElementsByName()의 특징 document.getElementById(); document.getElementsByName(); 두 함수의 이름만 보더라도 id와 name의 차이를 유추할 수 있다!(id는 getElement이고 name은 getElements이다!) id는 중복될 수 없고(유니크하다!) name은 중복될 수 있다!(따라서 radio나 checkbox 등에 적절하게 사용할 수 있다!) 예를 들어 var obj = document.getElementsByName('myInput'); 이렇게 받았다면 alert(obj[0].value); alert(obj[1].value); 이렇게 접근할 수 있는 것이다!(복수이므로 배열로 들어온다! id로는 절대로 할 수 없는 유연함을 누릴 수 있다!) id는 유니크한 데이터를 다룰.. 더보기