【问题标题】:Difference in listing variables in JavaScript [duplicate]JavaScript中列出变量的差异[重复]
【发布时间】:2012-11-07 13:24:15
【问题描述】:

可能重复:
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");

我一直认为区别只在于符号。第一个示例更短,执行起来可能更快。最近我做了一些测试,现在我不确定了。谁能解决这个问题?

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

【问题讨论】:

    标签: javascript jquery variables


    【解决方案1】:

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

    就区别而言,没有区别。您可以获得的唯一速度提升是停止旋转多个 jQuery 对象并重新引用现有对象以进行进一步处理。例如

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

    另见JavaScript variable definition: Commas vs. Semicolons

    【讨论】:

    • 编辑了问题:) 谢谢你的回答,我看看其他人怎么说。
    • body.children('section.wrapper') 更快:) 只要选择器是 body > section
    • @acrashik:好电话。仍然醒来(咖啡前)并瞥了一眼直系后代选择器。 ;-)
    【解决方案2】:

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

    对此进行更多研究,似乎有很多消息来源同意这一点。

    来自jsLint #scope

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

    来自A List Apart

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

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

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

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

    这段代码还定义了两个变量 并提供相同的初始化。但是,您已经保存了三个 另一个 var 将花费的字节数。三个字节可能看起来不 很重要,但如果你能找到几十个地方 目前有一个额外的 var 语句,节省的钱真的可以增加 起来。

    但是,

    这里有两个相当有说服力的理由来使用来自SO posters 的多个var 语句。 and here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2012-03-21
      • 2018-09-30
      • 2015-11-12
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      相关资源
      最近更新 更多