在JavaScript中列出变量的区别

时间:2012-11-07 13:24:15

标签: javascript jquery variables

  

可能重复:
  Declaring Multiple Variables in JavaScript

我想知道JavaScript(和JS库)中的列表变量是否存在差异。

示例

var $this = $(this),
    $body = $("body"),
    $main-wrap = $("body > section.wrapper");

var $this = $(this);
var $body = $("body");
var $main-wrap = $("body > section.wrapper");

我一直认为差异只在于符号。第一个示例更短,执行速度可能更快。最近我做了一些测试,现在我不再确定了。任何人都可以解决这个问题吗?

执行速度,结果,方法有区别吗?

2 个答案:

答案 0 :(得分:4)

这不是jQuery只是简单的JavaScript变量声明。

就差异而言,没有一个。您可以获得的唯一速度增加是停止旋转多个jQuery对象并重新引用现有对象以进行进一步处理。 e.g。

var body = $('body'),
    wrapper = body.children('section.wrapper');

另见JavaScript variable definition: Commas vs. Semicolons

答案 1 :(得分:0)

当我开始使用jsLint时,我打破了使用多个var语句的习惯。它总是抓住它,并说用逗号分隔会更快。

进一步研究,似乎有许多消息来源同意这一点。

来自jsLint #scope

  

建议每个函数使用一个var语句。

来自A List Apart

  

var语句定义一个或多个变量。有时您会看到如下代码:

var image = document.getElementById("myImage");
var div = document.getElementById("myDiv");
  

此代码定义了两个变量,一个   紧接着另一个。我经常看到10个或更多的这种模式   变量连续。这样做会人为地夸大你的体型   代码,因为多个var语句可以使用a组合成一个   逗号运算符:

var image = document.getElementById("myImage"),
div = document.getElementById("myDiv"); 
  

此代码还定义了两个变量   并提供相同的初始化。但是,你已经保存了三个   另一个var会有成本的字节。可能看起来不是三个字节   像一个大问题,但如果你能找到几十个地方   目前有一个额外的var语句,节省的确可以添加   起来。

然而,

这是使用SO posters中的多个var语句的两个相当令人信服的理由。 and here