JavaScript:即時関数を意識して使ってみた(jQuery.noConflict()の場合)。

javascript jquery

Posted on 2011-08-24


たまには技術的な話題を。

この即時関数についての投稿がわかりやすかった。
しかも、すごく詳細に書かれていて長いんだけどわかりやすいです。
なかなかここまでちゃんと書こうと思ってもかけるもんじゃないですね。

知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){…})()の全て - 三等兵

そういえば、これの呼び名って何て言うんだろうってずっと思ってた。
即時関数って呼べばいいってことか。今ひとつしっくりこない気もするけど。。。
JavaScriptのグローバル変数問題ってのをスマートに解決しようっていう意図なんだろうなと思ってたけどここまでちゃんと解説してくれるとありがたい。

jQuery.noConflict();
(function($){
    $(function() {
        var val = $('h1').text();
        alert(val);
    });
})(jQuery);

これはjQueryの競合(コンフリクト)を解決するための初期化というか初動のコード。h1の値であるテキスト情報をとってくるコードなんだけど確かにわかりくいっていう難点はある。
でもこういう自由さがJavaScriptの面白いところ。あと奥が深いところでもある。

$.noConflict();
jQuery(document).ready(function($) {
    var val = $('h1').text();
    alert(val);
});

こっちのほうがわかりやすいかな?

shigeki.takeguchi

渋谷の某ソーシャルゲームの会社でフロントエンドエンジニアとして働いてます。20世紀よりウェブ業界。気づいたらアラフィフ業界人です。
まだまだ現場で粘り強く作る側でいたいと思います。

By year

  1. 2017 (10)
  2. 2016 (23)
  3. 2015 (13)
  4. 2013 (15)
  5. 2012 (21)
  6. 2011 (34)

© 2012 shigeki.takeguchi