8

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

4

5 回答 5

4

如果你的意思是:

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

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

于 2012-10-03T20:22:44.867 回答
2

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

于 2012-10-03T20:22:36.323 回答
2

一般来说,我更喜欢命名带有 $ 符号的 jQuery 对象。这是在代码中识别 jQuery 对象的惯例。

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

var a = 2;
var $a = $('#something');
于 2012-10-03T20:24:59.563 回答
2

基本上这是允许违反Crockford 的javascript 编码约定。它用于区分 jQuery 对象和 javascript DOM 元素。

例如

var a = document.getElementById('a'); // DOM element
var $a = $(a); // jQuery object for the DOM element with ID 'a'
于 2012-10-03T20:26:40.153 回答
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 包装器。

于 2012-10-03T20:26:57.483 回答