jQueryが便利だなーと思い始めた頃のある日、どこかのサイトで、
jQuery(function($){....})と書いておけば、$を確実に使える
というのを見たことがある。
表面上の意味はわかるが意義が分からん(つまり良くわかってない)のでそのまま流したてたんだけど、その後、
var $ = function (id) {return document.getElementById(id)} : : : $("hogehoge").innerHTML = .....;
なんて使い方をしてあるコードを幾つか立て続けに見かけた。
こんなふうに$を使ってあると、ちょっとパクってjQueryと一緒に使おうとすると名前が衝突してメンドクさい。
なるほど$をこういう使い方をするコードと共存するためにはjQueryを使う部分を閉じた名前空間にして$を明示的に定義してしまえばいい、というテクニックだったのか、とかなり遅まきながら納得。
ただ、「それにしても何でこんなことしてあるんだろう」と思ってた。
そういうことだったのか。
javascript - Webkitでは$が定義済みな件
JavaScript のセレクターの定番イディオム
JavaScript の定番イディオム。
prototype.js でおなじみの「$」の使い方です。
いわゆる「セレクター」。
いわゆる「セレクター」。
Chromeのコンソールで$を見ると、
function $(id) { return document.getElementById(id); }
確かに$という関数が定義されている。FirefoxやOperaではundefined。
WebKitを作ってる人達が、コンソールを使う時の便宜として定義しておこう、と思うくらいには定番なのね、この$の使い方。
使おうとしたことないから知らないけど、prototype.jsでも$には何か重要な意味があるらしい。
jQueryだと「jQuery」と書くより短く書ける、というだけのような気もするけど、何となく$を使うほうが好きだなあ。
0 件のコメント:
コメントを投稿