javaやPHPなどで慣れていると、どうしても理解しにくいのがjavascriptのprototypeとcall,applyだと思います。
別に理解できなくてもプログラム書けるんですけどね。とくにjQueryとか使っちゃうと。しかし、理解できてくるとjavascirpt超おもしろいです。
さて、prototypeがなんぞやっていうのは例によっていくらでも解説されているのでググってみて下さい。
ここではprototypeを使った例を挙げておきます。これだけでprototypeを理解する意図ではなく、理解の助けになれば程度です。
キーワード:JavaScript
prototypeのはなし(その1)
jQueryのbindについて
jQueryのclick()やchange()などのイベント系の関数超便利ですよね。
実際にこれが何をやっているかと言うと下記のように単にclickなどのイベント名でbindしているだけなんです。
つまり
click(fn) イコール bind(“click”,fn)
というわけです。
そして、引数がなければtriggerが起動してます。
(function($){})(jQuery);
JavaScriptの変数のスコープは慣れないとちょっとわかりにくいです。
クロージャも無名関数もわかりにくいんじゃないでしょうか。
しかし、例によってこれらについて書いてある記事はググればいくらでもあるので割愛。
それに、いくら解説を読んでも実際たくさんのコードを書かないとなかなか理解できません。
jQuery用に書かれたJavaScriptをみるとよく
(function($){
var hoge = function(){
alert($("#hoge").val());
};
hoge();
})(jQuery);