作者poopoo888888 (阿川)
看板Ajax
标题[ js ] js的变数名称问题
时间Fri May 13 15:38:42 2011
网路上查了资料
说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
1F:推 mesak:加上$ 是为了辨别已套上 JQUERY方式 $content && content 05/13 17:35
2F:→ mesak:$content 比较容易辨认是已经 被 JQUERY 选择的物件 05/13 17:35
3F:→ mesak:content 光看像是 一般文字变数 05/13 17:36
4F:推 s25g5d4:就像楼上讲的... 另外这有助於效能提升 比起每次都跑一次 05/13 20:35
5F:→ s25g5d4:$() 先把它存到变数里会比较快 05/13 20:37
6F:→ s25g5d4:$开头是为了辨识方便 我自己用.each时也会先建一个$_this 05/13 20:38
7F:→ s25g5d4:另外就是如果selector已经无法指定该元素(例如class已经 05/13 20:38
8F:→ s25g5d4:改变) 先存到变数里的jQuery物件并不会因此失效 05/13 20:39
9F:→ poopoo888888:非常感谢两位大大!! 获益良多!! 05/13 21:02
10F:→ poopoo888888:但还是有个问题「以字母或是底线开头」这句话是错的? 05/13 21:02
11F:→ poopoo888888:所以也可以用其他乱七八糟的符号开头吗? 05/13 21:03
12F:推 mesak:一般会设定为底线是为了跟 广域变数区别开 主要是认知为私有 05/13 21:10
13F:→ mesak:变数, 能不能用乱七八糟的符号我就不知道了.....我只用过 05/13 21:11
14F:→ mesak:$ _ - 其他都没用过.... 05/13 21:11
15F:→ s25g5d4:应该是只有$跟_是例外 05/13 21:51
16F:→ s25g5d4:像! % & * ( ) +这些想也知道不行 @#^我测过也不行 05/13 21:52
17F:→ poopoo888888:我知道了 很谢谢两位大大的回答^^!! 05/14 00:12
18F:推 rexkimta:本身是运算元的都不行。 减号不行吧? 05/14 11:39
19F:→ mesak:我的减号是变数串接 XD 没打清楚 05/16 10:34