簡単な質問がありますが、Google で何も見つかりません。私は別のプログラマーがまとめたいくつかのコードを調べていましたが、彼はすべての JavaScript 変数の前に $ を付けて宣言しています...たとえば:
var $secondary;
これには理由がありますか?JQueryが使用されるようになった場合、これは将来問題を引き起こす可能性があります. もしそうならそれをきれいにするつもりだったので、私はただ興味があります。
簡単な質問がありますが、Google で何も見つかりません。私は別のプログラマーがまとめたいくつかのコードを調べていましたが、彼はすべての JavaScript 変数の前に $ を付けて宣言しています...たとえば:
var $secondary;
これには理由がありますか?JQueryが使用されるようになった場合、これは将来問題を引き起こす可能性があります. もしそうならそれをきれいにするつもりだったので、私はただ興味があります。
これには理由がありますか?
言いにくい。$
変数の前にプレフィックスを付けるPHP のバックグラウンドから来たのかもしれません。たぶん、彼は jQuery 中毒者です。知るか?あなたは彼に尋ねなければならないでしょう。それはさておき、$
JavaScript 変数名で使用するのは完全に正当な文字ですが、ご指摘のとおり、jQuery で問題が発生する可能性があります。noConflict()
しかし、それが jQuery がオプションを提供する理由です。
$
は有効な変数文字であり、PHP ではすべての変数がそれで始まります。その特定の開発者が$
「フラグ」として「これは変数である」という意味で使用している可能性があります。特別な意味はありません。
$
変数名に使用できる文字です。jQuery オブジェクトを含む変数を示すのに、これを使用するのが好きな人もいます。
var $foo = $('#foo');
var bar = 42;
しかし、それは単なる個人的な好みです。特別な意味はありません。
私はこの規則を使用して、変数が JQuery オブジェクトを格納しているかどうかを追跡します。関数getJQueryObject()
が JQuery オブジェクトを返し、それを保存したいとします。
すなわち:
var $myJQobj = getJQueryObject();
$myJQobj
ie とは異なり、JQuery オブジェクトであることを明確にします。
var myStr = "hello";
識別子の$
最初の文字には特別な意味がないため、$()
のようなメソッドを呼び出しているわけではなく、JavaScript で完全に有効な識別子です。しかし、$
が JQuery で使用されているという事実は、私が前に話していたことをさらに明確にします。
これは、jQuery DOM 選択の単なる規則です。
var $logo = $('a.logo');
問題が発生することはありません。jQuery でラップされた dom 要素を使用していることを他の開発者に知らせるだけです。
$ は JavaScript での使用に適しています。PHP は同じ変数構文を使用するので、彼はそこから慣れたのかもしれません。