Javascript / jQuery变量,使用var的正确方法是什么?

我很抱歉,如果这是一个愚蠢或容易的问题,但我是相当新的Javascript / jQuery。 在过去的一个月中,我真的开始深入研究脚本领域,并且看到了两种不同的,也许是三种人们在Javascript / jQuery中使用var方式。

我使用var的方式就是这样,

var nav = $('nav');

nav.hide();

我见过一种非常常见的方式使用变种,

var nav = $('nav');

$(nav).hide();

从答案中,

var $nav = $('nav');

$nav.hide();

从我通过搜索Google学到的东西是你在变量里面输入的内容保存在那里以供以后使用。 然后我发现如果我在使用它时在var上写了$(),它会复制$()。 然而,这两种方式似乎都起作用,所以我知道它不会重复,因此可以说它是同样的事情。

有没有正确的方法来使用vars或两者都相同,并没有关系?

我再次道歉,如果这是一个已知的答案,并会很高兴将其删除,如果有人可以告诉我原来的问题,但我找不到任何东西。

来自答案的很多信息,我没有标记为答案,但我发现它非常重要。

var element = document.createElement("div");
$("body").append(element);
$(element).hide(); 

在上面的例子中,$(element)是必须的,因为它需要一个DOM对象并将其转换为一个jQuery选择器。 jQuery函数只能用于jQuery选择器,所以你不能简单地做element.hide()。


$()创建一个新的jQuery对象。 如果将一个jQuery对象保存到一个变量中,从它创建另一个jQuery对象是没有意义的,尽管它仍然有效。 您经常会看到人们将以前在$()创建为jQuery对象的变量包装纯粹是由于不好的练习,或者忘记它已经是一个对象......或者不理解他们刚刚创建的东西

也许你可能看过

var $nav = $('nav');

$nav.hide();

使用$前缀是一种常见的做法,表示该变量主要是用于代码可读性的jQuery对象


这两个变量都存储一个jQuery对象,它可以访问jQuery方法。 后一种方法不必要地尝试在另一个jQuery对象中重新包装该jQuery对象。 前一种方法是“正确的”,因为坦率地说,它更高效,更少。


我在很多地方看到过这个问题。 当人们不需要时,人们会使用很多美元。 有些人用它作为变量名称的装饰,这增加了混淆。

首先,没有jQuery变量,只有JavaScript变量,正如你所说的,变量存储信息。 当右边以$()开始时,你将jQuery函数的结果存储在变量中。 在绝大多数情况下,您要存储的内容称为jQuery选择器。

var nav = $('nav') ,你要存储的是一个代表DOM中所有元素的选择器,这些元素是导航标签,也就是<nav></nav> (或等价物)。

正如其他人已经提到的那样, $(nav)正在存储选择器,并从中创建一个新的选择器。 它没有任何成就,并且是多余的,并且是一种很差的编程实践,即使它是普遍的编程实践。

但是,有一种类似的语法是合理的:

var element = document.createElement("div");
$("body").append(element);
$(element).hide(); 

在上面的例子中, $(element)是必须的,因为它需要一个DOM对象并将其转换为一个jQuery选择器。 jQuery函数只能用于jQuery选择器,所以你不能简单地做element.hide()

正如我在顶部提到的,有些人也使用$作为它们的变量名称的装饰器,例如var $selector = $("nav")$左侧意味着什么 - 它只是一个变量名中的字符,但他们用它作为约定来提醒自己他们正在存储一个jQuery选择器。 我会避免它,只是因为它增加了混乱,但它在那里,所以我只是想提到它。

链接地址: http://www.djcxy.com/p/19385.html

上一篇: Javascript/jQuery variable, what is the proper way to use a var?

下一篇: What is the correct way to check for string equality in JavaScript?