2011/02/01

[JavaScript]JavaScriptはもっと変態

javascriptの関数が変態すぎるというエントリーを読んで、追加でちょっと。

JavaScriptは、いくつかビルドインされている関数があるのですが、それを上書きすることができるということ。

例えば、下のようなソースがあるとする。

var hoge = new Date();
alert(hoge);

これを実際に実行すると返ってくる値は、日付ですが、下のように書き換えることもできます。

function Date(){
var foo = "Hello World";
alert(foo);
}

var hoge = new Date();

こうすると、日付ではなくて、「Hello World」がかえってきます。

もともと、この仕様はlisp言語から引き継がれたものです。

一歩間違えるととんでもないことが起こりますが、使い方を誤らなければ協力なパワーを発揮します。

0 コメント:

コメントを投稿