2012-02-08
他のライブラリとの競合を避けたブロックスコープの書き方
javascript, jquery, tips | |
![]()
色々なライブラリを使用している既存のページなどで、ちょっとした処理を挟みたい場合、Prototype などと、$() が現状・将来的にも競合しないようにするには、
jQuery.noConflict()
を一般的に使いますが、もっと影響範囲を狭く、シンプルに実現する方法が以下のようにあります。
(function($) { // 2. 引数を $ で受けると // 3. このスコープでは、$ を jQuery オブジェクトとして参照できる。 $('#blah').show(); })(jQuery); // 1. 引数に jQuery オブジェクトを渡し
この方法であれば、
j$ = jQuery;
と、定義したときのように、名前空間を汚染することもありません。
無名関数とその引数で、スコープ内の値をコントロールする手法は他にも応用が利きます。
(function(window) { })(this);
など。
コメントを書く
トラックバック - http://d.hatena.ne.jp/Craftworks/20120208/1328677546
リンク元
- 364 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=18&ved=0CF4QFjAHOAo&url=http://d.hatena.ne.jp/Craftworks/20120208/1328677546&ei=rus8T8KjH8SMmQWm3ZzPBw&usg=AFQjCNFlTUYMDeQzlJEa6gIXZKTuwsqFCg&sig2=bwMiXePWkZXkRRCh-gI-0A
- 295 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDIQFjAB&url=http://d.hatena.ne.jp/Craftworks/20090418/1240082737&ei=hyM7T_KHL6LymAWcyuWaCw&usg=AFQjCNHvKwG-o83xzJSNEaZkl27XeFKfIg
- 249 http://d.hatena.ne.jp/perlcodesample/20101221/1300165343
- 197 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1330680419149&ved=0CD8QFjAC&url=http://d.hatena.ne.jp/Craftworks/20101104/1288889018&ei=VJJQT-CJJ67QmAXLv6SrCg&usg=AFQjCNFPTYtAb43ijlfSYl4y7IQt_0loaQ&sig2=dPgUcyiE-4-b3-autVy
- 138 http://www.google.co.jp/url?sa=t&rct=j&q=mac ubuntu デュアルブート&source=web&cd=1&ved=0CC0QFjAA&url=http://d.hatena.ne.jp/Craftworks/20101115/1289846714&ei=z6AyT-TZFsmoiAe-xJTmBA&usg=AFQjCN
- 121 https://www.google.co.jp/
- 107 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEUQFjAD&url=http://d.hatena.ne.jp/Craftworks/20101104/1288889018&ei=H1I8T47cIaHqmAWitYmhCw&usg=AFQjCNFPTYtAb43ijlfSYl4y7IQt_0loaQ&sig2=Mpid5VzcGFF2-kR2F1Ibhw
- 62 http://www.google.co.jp/url?sa=t&rct=j&q=macbook air ubuntu&source=web&cd=2&ved=0CDgQFjAB&url=http://d.hatena.ne.jp/Craftworks/20101115/1289846714&ei=F-o1T_60IYaJmQXBu_TzAQ&usg=AFQjCNHF56qzKjW18rVfG2erhlvs4iw08A
- 56 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CE4QFjAE&url=http://d.hatena.ne.jp/Craftworks/20101115/1289846714&ei=-L5JT-vHLMWNmQWM8dCCDg&usg=AFQjCNHF56qzKjW18rVfG2erhlvs4iw08A
- 53 http://www.google.co.jp/url?sa=t&rct=j&q=.profile&source=web&cd=3&ved=0CEUQFjAC&url=http://d.hatena.ne.jp/Craftworks/20111129/1322576008&ei=VKozT9jzLMaimQXpyun0AQ&usg=AFQjCNFM43wOc-VI9Zj8Ep3S8gPAm0BAMA


