IE と Gecko 系とたぶん document.styleSheets がちゃんと実装されているブラウザで動くスタイルスウィッチャみたいなものを作ってみた。左下に表示させてみるテスツ。
いらない。
IE と Gecko 系とたぶん document.styleSheets がちゃんと実装されているブラウザで動くスタイルスウィッチャみたいなものを作ってみた。左下に表示させてみるテスツ。
いらない。
寝るとき少し浅い眠りに入ってから深くなると思うのだけど、その浅い眠りのときに悪夢をよく見る。悪夢でなくとも布団に強く押し付けられる感覚にはよくなる。よく、というか毎日。一回そうなると「寝る→薄く起きる」を繰り返してなかなか眠れなくなる。回避方法としては直前まで音楽を聴いておくこととかぐらいしかない。スピーカーがデストローイ!なのでヘッドフォン……
昨日書いたのは間違いだったっぽい……
function Foo(len) { this.length = len; } Foo.prototype = { unk : function () { alert("unk"); } } alert(Foo.prototype.constructor); //=> function Object() {} Object.prototype.bar = function () {alert("bar")} Array.prototype.baz = function () {alert("baz")} Foo.prototype.constructor = Array; alert(Foo.prototype.constructor); //=> function Array() {} var ifoo = new Foo(3); ifoo.unk(); //=> unk ifoo.bar(); //=> bar ifoo.baz(); //=> ifoo.baz is not a function
prototype のプロトタイプを辿っていくのがプロトタイプチェーンじゃないのか……それとも prorotype のプロトタイプというのを勘違いしているんだろうか……
Object.prototype.foo = function () {alert(this);} document.foo(); //=> [object HTMLDocument] alert(document.documentElement.childNodes); //=> [object NodeList] document.documentElement.childNodes.foo(); //=> Error: (snip).childNodes.foo is not a function.
なんでだろう? うーん全部のオブジェクトは Object オブジェクトの仲間(?)なんだよねぇ。 いや、なんで Object.prototype に設定すると他のオブジェクトから呼べるかよくわからないんだけど……プロトタイプ辿ったら Object.prototype にいきつくのかなぁと思いきや document.prototype
は undefined
だし……
Opera だと [object NodeList] が表示される。Gecko のバグなのかな。
あ、インスタンス化(?)されてるから document.prototype
じゃなくて document.constructor.prototype
か。それならわかる。いやいやわかんないけど。なんかイメージできない。prototype もオブジェクトであるからコンストラクタがあるはずで、さらには参照している prototype があるかもしれない的? document.constructor.prototype.constructor
が [object Object] だからたぶんそれであっているはず……
あぁ。インスタンスってのはやっぱクラスベースに使う用語なんだ……インスタンスとか言い出すと全部インスタンスだよなぁ……