在 JavaScript 中,我是否需要在变量名前加上美元符号?

10

我有以下代码:

var formSubmitHandler = function (link, form) {

    //e.preventDefault();
    var $form = form;
    var val = $form.valid();
    var action = $(form).data('action');
    var entity = $(form).data('entity');

我需要在代码中添加"var $form = form"这行吗?后面能否直接使用"var val = form.valid();"?

这不是我的代码,所以我想知道开发人员为什么要在表单前面加上$并进行分配?

更新:

感谢大家的回复。如果像已经说的那样,只是为了表示它是一个jQuery变量,那么我是否可以通过将函数参数更改为(link,$form)来删除那一行?


2
可能是为什么JavaScript变量会以美元符号开头?的重复问题。 - Wesley Murch
有时,在变量名前面的 $ 表示它是一个 jQuery 对象,而不是原始的 DOM 元素。也就是说,你可以这样写 var $this = $(this) 并在前面加上 $ 表示它是一个 jQuery 对象。另一方面,你可能会写成 var element = document.getElementById('test')。当然,这完全取决于开发者。 - Reid
4个回答

12

$jQuery基本上都是指代jQuery实例。

了解$( < 这里放置一些内容 >)是一个jQuery函数调用,而$your_variable_name只是一个带有美元符号的变量是很好的。

有些人在自己的变量中使用$以表示它是一个jQuery对象。使用这种命名约定,你的源代码应该像这样。

var formSubmitHandler = function (link, form) {
    var $form = $(form);
    var val = $form.valid();
    var action = $form.data('action');
    var entity = $form.data('entity');

2
有些人在自己的变量中使用 $ 符号来表示它是一个 jQuery 对象,但需要注意的是,在纯 JS 中也会使用 $ 符号来表示它是一个 HTMLElement 引用。 - Roko C. Buljan
1
我认为非常重要的一点是,$ 不是 jQuery 的专属符号。虽然 $ 在 jQuery 中经常被使用。 - John Greene

3
不,您不必使用美元符号。这通常只是一种美学选择。
在上面的示例代码中,函数的参数名为form function (link, form)。在函数内部,正在声明的新变量有一个$,以便将其与参数变量form区分开来。

3

这并非必要。在变量前加上美元符号大多数情况下表示它是一个 JQuery 变量。JQuery 使用美元符号作为快捷方式。在变量名中使用美元符号除了告诉开发人员它是一个 JQuery 对象之外,没有其他额外的含义。


1
为了让其他人明确:美元符号 就是 变量。 - Wesley Murch

0

现在的最佳实践是使用美元符号$来帮助你区分表示常规DOM元素(以及其他数据类型)的Javascript变量和保存对jQuery对象引用的变量。对于后者,你使用美元符号$。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接