[ js ] js的變數名稱問題

看板Ajax作者 (阿川)時間14年前 (2011/05/13 15:38), 編輯推噓4(4015)
留言19則, 4人參與, 最新討論串1/2 (看更多)
網路上查了資料 說js的變數命名必須以字母開頭或是底線,後面可以是數字或字母 但我在看這個網站的source code http://chat.latest.gaejava.appspot.com/ 卻發現有這樣的語法 var $content = $('#content'); var $msg = $('#msg'); var token; 我知道$('#content')和$('#msg')是jquery的語法 但我不懂為什麼會寫出var $content這樣的code? 不是說必須以字母或是底線開頭嗎? 請教各位大大了 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.181.202

05/13 17:35, , 1F
加上$ 是為了辨別已套上 JQUERY方式 $content && content
05/13 17:35, 1F

05/13 17:35, , 2F
$content 比較容易辨認是已經 被 JQUERY 選擇的物件
05/13 17:35, 2F

05/13 17:36, , 3F
content 光看像是 一般文字變數
05/13 17:36, 3F

05/13 20:35, , 4F
就像樓上講的... 另外這有助於效能提升 比起每次都跑一次
05/13 20:35, 4F

05/13 20:37, , 5F
$() 先把它存到變數裡會比較快
05/13 20:37, 5F

05/13 20:38, , 6F
$開頭是為了辨識方便 我自己用.each時也會先建一個$_this
05/13 20:38, 6F

05/13 20:38, , 7F
另外就是如果selector已經無法指定該元素(例如class已經
05/13 20:38, 7F

05/13 20:39, , 8F
改變) 先存到變數裡的jQuery物件並不會因此失效
05/13 20:39, 8F

05/13 21:02, , 9F
非常感謝兩位大大!! 獲益良多!!
05/13 21:02, 9F

05/13 21:02, , 10F
但還是有個問題「以字母或是底線開頭」這句話是錯的?
05/13 21:02, 10F

05/13 21:03, , 11F
所以也可以用其他亂七八糟的符號開頭嗎?
05/13 21:03, 11F

05/13 21:10, , 12F
一般會設定為底線是為了跟 廣域變數區別開 主要是認知為私有
05/13 21:10, 12F

05/13 21:11, , 13F
變數, 能不能用亂七八糟的符號我就不知道了.....我只用過
05/13 21:11, 13F

05/13 21:11, , 14F
$ _ - 其他都沒用過....
05/13 21:11, 14F

05/13 21:51, , 15F
應該是只有$跟_是例外
05/13 21:51, 15F

05/13 21:52, , 16F
像! % & * ( ) +這些想也知道不行 @#^我測過也不行
05/13 21:52, 16F

05/14 00:12, , 17F
我知道了 很謝謝兩位大大的回答^^!!
05/14 00:12, 17F

05/14 11:39, , 18F
本身是運算元的都不行。 減號不行吧?
05/14 11:39, 18F

05/16 10:34, , 19F
我的減號是變數串接 XD 沒打清楚
05/16 10:34, 19F
文章代碼(AID): #1DpE04z0 (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1DpE04z0 (Ajax)