有时在JQuery中,我们将变量定义为
var $a=$()
,这就像声明一个函数。那么我想知道,如果我们只定义变量为var a
,是否会有任何变化?var $a=$()
,这就像声明一个函数。那么我想知道,如果我们只定义变量为var a
,是否会有任何变化?var a = $(/* Object or Selector gets passed here */)
那么唯一的区别就在于名称。开发人员使用$a
来表示该值已经是jQuery
化的。省略它不会改变任何功能,但对未来的开发人员来说可能是一种不好的服务。
通常我喜欢在jQuery对象的名称前加上$符号。这是一种在代码中识别jQuery对象的约定。
但它只是另一个变量名而已。;;
var a = 2;
var $a = $('#something');
var a = document.getElementById('a'); // DOM element
var $a = $(a); // jQuery object for the DOM element with ID 'a'
$a
与 a
是相同的,它只是一个变量名。$是JS标识符中允许的字符,没有任何影响。$(obj)将对象obj包装成jQuery对象,并为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包装器。