有时在 JQuery 中我们定义变量var $a=$()
就像声明一个函数一样。所以我想知道如果我们将变量定义为var a
only,它会不会有任何改变?
问问题
1144 次
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 回答