関数もオブジェクトに含まれると書いた通りで,関数をオブジェクトのプロパティにすることや,変数に入れ替えるなど,自由自在に操作することができます。
こういった性質をもった関数をプログラミング用語で第一級関数(JavaScriptの関数はファーストクラスオブジェクトである,ともいう)と呼びます。
イベント登録用関数
var addEvent;//変数を用意
if(document.addEventListener) {// IE以外
addEvent = function(node,type,handler){
node.addEventListener(type,handler,false);
};
} else if (document.attachEvent) {// IE用
addEvent = function(node,type,handler){
node.attachEvent('on' + type, function(evt){
handler.call(node, evt);
});
};
}