将变量定义为var $ a = $()和var a?之间的区别?

时间:2012-10-03 20:21:04

标签: javascript jquery coding-style

有时在JQuery中我们将变量定义为var $a=$(),就像声明一个函数一样。所以我想知道,如果我们仅将变量定义为var a,它会做出任何改变吗?

5 个答案:

答案 0 :(得分:4)

如果你的意思是:

var a = $(/* Object or Selector gets passed here */)

那么唯一的区别就是名字。开发人员使用$a来表明该值已经jQuery - ied。离开它不会改变任何功能,但会对未来的开发人员造成损害。

答案 1 :(得分:2)

不,这没什么不同。 $a与该上下文中的a相同。它只是一个变量名。

答案 2 :(得分:2)

通常我更喜欢用$符号命名jQuery对象..这是一种在代码中识别jQuery对象的约定。

但它只是另一个变量名;;

var a = 2;
var $a = $('#something');

答案 3 :(得分:2)

基本上,javascript允许违反Crockford's coding convention。它用于区分jQuery对象和javascript DOM元素。

E.g。

var a = document.getElementById('a'); // DOM element
var $a = $(a); // jQuery object for the DOM element with ID 'a'

答案 4 :(得分:1)

$是JS标识符中允许的字符,没有区别。 $(obj)用jQuery对象包装对象obj,并用很多其他行为装饰obj。

这些是合法的Javascript变量名称:

$a=1;
a$$$=1;
$a=1;

函数$是jQuery的别名,如果您执行以下操作:

你的HTML:

<img src='logo.png' id='site_logo'/>

你的JS:

var logo = $('#site_logo');
logo.fadeOut();

方法fadeOut不属于img元素,而是属于jQuery包装器。