ぐろーばる おぶじぇくと に け が はえない(IE 的な意味で)

| | コメント(3) | トラックバック(0)

IE だけグローバル オブジェクトのプロトタイプ オブジェクトが違うというお話です。

Object.prototype.isPrototypeOf(window);
// IE 6: false
// IE 7: false
// Firefox 2.0.0.12: true
// Opera 9.2.6: true
// Safari 3.0.4b: true

Object.prototype に毛を生やしても IE だけ影響を受けませんね。ECMA 262 3rd edition の仕様ではグローバル オブジェクトのプロトタイプ オブジェクトは実装依存だそうです。

また、window に特定のプロパティがあるかどうか知りたい場合に上記の理由で window.hasOwnProperty() とする事が出来ないので…

window.hasOwnProperty("undefined");
// IE: エラー「オブジェクトでサポートされていないプロパティまたはメソッドです。」
// Firefox 2.0.0.12: true
// Opera 9.2.6: false
// Safari 3.0.4b: true

Function#call() または Function#apply() を利用することになります。

Object.prototype.hasOwnProperty.call(window, "undefined");
// IE 6: true
// IE 7: true
// Firefox 2.0.0.12: true
// Opera 9.2.6: false
// Safari 3.0.4b: true

トラックバック(0)

このブログ記事を参照しているブログ一覧: ぐろーばる おぶじぇくと に け が はえない(IE 的な意味で)

このブログ記事に対するトラックバックURL: http://zenith.sakura.ne.jp/mt/mt-tb.cgi/17

コメント(3)

This blog site is great. How did you come up witht he idea?

Hello there, I should say it is a clever posting. I'll certainly be seeking in on this web site yet again soon.

Just wanted to check in and tell you good job on your new entry. You were not by yourself in your opinion as you most likely already know.

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、zenithが2008年2月23日 20:02に書いたブログ記事です。

ひとつ前のブログ記事は「foreach と Iterator#key() の戻り値」です。

次のブログ記事は「マグロ、この後すぐ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.12