今まで気づかなかった..

ちょとはずかしい.

HTML要素もJavaScriptから見るとやはりJavaScriptのオブジェクトであって,

同様の操作が可能だったとは...

setTimeout (function () {
    var hoge = document.getElementById ("fuga");
    hoge.a = 3;
    alert (hoge.a);// 結果 : 3
}, 0);

となる.

こう書くことで,メソッドをHTMLオブジェクトに押し込むことが可能になり,

よりオブジェクティブに書くことが可能になると思う.

var base = (function (obj) {
    obj.visible = function () {
        this.style.visiblity = "visible";
    };
    obj.invisible = function () {
        this.style.visibility = "hidden";
    };
    return obj;
} (document.createElement ("div")))

var derived = function () {};
derived.prototype = base;
var derivedObj = new derived ();

var refDerivedObj = $ ("hoge").appendChild (derivedObj);

みたく,メソッドやフィールドの継承を行うことももちろん可能.

ああ,まだまだまだまだ