为什么我的 JavaScript 中有一个 $

Why is there a $ in my javascript?

本文关键字:有一个 JavaScript 我的 为什么      更新时间:2023-09-26

>我有以下内容:

var doHandler = function (link, form, close) {
    var $form = form;
    var $link = link;
    var dialogTitle = $form.find("#Title").val();
    // some code
}

我想将其更改为:

function doTask(??) {
  var dialogTitle = $form.find("#Title").val();
  // some code
}
var doHandler = function (link, form, close) {
    var $form = form;
    var $link = link;
    doTask(??)
}

有人可以解释一下:

  • "var $form = form;"在做什么
  • 我应该将什么参数传递给 doTask $form 或表单?
  • doTask 中的第一行引用是否应该$form或表单
  • 如果函数位于同一文件中,是否需要在调用之前声明该函数?

抱歉,这真的很令人困惑,有什么区别以及为什么有 $

作业似乎$form = form您发布的代码中没有任何作用,但这取决于// some code做什么。

变量名称前面加上 $ 的约定用于表示变量包含 jQuery 对象。

如果代码改为读取

var $form = $(form);

那么这将解释一切:$form是一个包装form的jQuery对象(大概是一个普通的DOM元素)。

对于您的其他问题:

  • 您应该传递doTask完成工作所需的任何参数
  • doTask是否在源中doHandler之前并不重要

这是声明 jQuery 对象的命名标准

因此,通过分配一个 $,您现在可以让变量保存 jQuery 选择器的结果。

下面是一个如何简化流程的简单示例:

http://jsfiddle.net/YYNeA/16/

var $form = form;
    var $link = link;

这些是定义的变量。您可以声明包含 $ 的变量。

$form是一个变量对象。 如果你想把它做成jQuery对象。用jquery包围。

例如:$(form)//现在这是jquery对象

变量名称中的$没有什么特别之处,这可以用于任何变量。

但是,正如@Jon所指出的,以$为前缀的一般约定是声明jQuery对象。

字符

$可以像任何其他有效字符一样在变量名称中使用,并且包含$的变量名称在语言中没有特殊含义。

由于表单和链接的变量是局部变量,因此必须将它们传递给函数才能使用它们。

函数不必在使用它

的代码之上定义,只要它位于相同(或上一个)文件或相同(或上一个)脚本块中即可。

doTask函数中,你既不使用变量form也不使用变量$form,因为它们都是doHandler函数的局部。使用发送到函数的参数。这个参数也可以命名为 form$form ,但它也可以被命名为完全不同的名称。

var doHandler = function (link, form, close) {
  var $form = form;
  var $link = link;
  doTask($form, $link);
};
function doTask(someForm, someLink) {
  var dialogTitle = someForm.find("#Title").val();
  // some code
}

但是,将参数linkform复制到局部变量$link$form似乎毫无意义。您也可以使用这些参数:

var doHandler = function (link, form, close) {
  doTask(form, link);
};
function doTask(someForm, someLink) {
  var dialogTitle = someForm.find("#Title").val();
  // some code
}

$字符只是定义变量时可以使用的有效字符。

当对象本身是 jQuery 对象时,我通常使用附加到变量的 $ 字符。 除此之外,它没有附加其他信息。

var $form表示您正在声明一个变量名$form

var $form = form意味着您将表单值分配给变量$form

与您的$link相同

相关文章: