addLoadEvent()

실제로 addLoadEvent() 함수가 필요한 지는 의문입니다. jQuery가 모든 걸 알아서 해주니까요. 하지만 만약 jQuery를 쓸 수 없는 환경이 만에 하나라도 생긴다면?? 필요할 지도 모르죠.
일단 소스 상의 의문점 때문에 코드를 보여드립니다.
풀리지 않는 의문하나? var oldonload = window.onload; 라는 코드가 어떻게 가능한 걸까요? window.onload가 함수 객체를 참조하고 있는 걸까요? window.onload 가 이벤트 핸들러 인데, 그럼 이벤트 핸들러는 객체인가요? property, method?
일단 의문만 가지고 아래 코드를 살펴 봅니다.

							function addLoadEvent (func) {
								var oldonload = window.onload;
								if (typeof (window.onload) != 'function') {
									window.onload = func;
								}else {
									window.onload = function () {
										oldonload(); // 참조 객체???
										func();
									}
								}
							}												
						

제레미 키스의 "DOM 스크립팅"에서 소스를 가져왔습니다. 일단 책의 내용을 적어 보겠습니다.
1. oldonload 라고 부르는 변수에 기존 window.onload를 저장한다. - 이 부분이 제일 의문이 되는 부분이죠
2. 여기에 함수가 추가되어 있지 않으면 원래 방법대로 새 함수를 추가한다.
3. 이미 함수가 추가되어 있으면, 기존 함수 뒤에 새 함수를 추가한다.

그렇다면 아래의 소스는 어떻게 가능할 까요?

node.onclick = node.onfocus = function () {.....};

onclick도 변수에 할당이 가능하다는 말인가요? 다음과 같이요? var clickEvent = node.onclick;
함수 참조를 하게 되는 onclick을 다시 변수에 할당한다는 말인가요?
이렇게 하면 이벤트핸들러 onclick 대신 clickEvent라는 변수를 호출하면 되는 건가요?
일단 테스트를 한번 해보겠습니다.

버튼을 하나 만들고 거기에 click 이벤트를 할당하고 함수를 연결해 보겠습니다.
함수는 단순히 경고창이 뜨는 걸로 해보죠.