gpt4 book ai didi

javascript - 为什么在 JavaScript 声明和初始化之间使用逗号?

转载 作者:行者123 更新时间:2023-11-30 07:12:43 25 4
gpt4 key购买 nike

用逗号分隔代码而不是移动到下一行的目的是什么?

例如,我找到这段代码:

var fm = $.NSFileManager.defaultManager,
oURL = $.NSURL.fileURLWithPathIsDirectory(strPath, true),
lstFiles = ObjC.unwrap(
fm.contentsOfDirectoryAtURLIncludingPropertiesForKeysOptionsError(
oURL, [], 1 << 2, null
)
),
lstHarvest = [];

我不常看到它,但感觉就像是在连续句子。

更新:
我想我看到发生了什么,但我很少看到这一点。是ES5、ES6的东西吗?

最佳答案

这是 var 的语法:

var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]];

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var

请注意,初始化 (=) 的存在是无关紧要的。

为什么要使用这种语法?

  • 避免重复 var。比较:

    var a, b, c, d, e

    var a,
    b,
    c,
    d,
    e

    对比

     var a
    var b
    var c
    var d
    var e
  • 有时是风格和偏好的问题

  • 在某些地方,您必须使用此语法来声明多个变量,因为您不能使用多行,(例如,在 for 循环 header 中:for (var a = 0, b = 3; . ..; ...))


请注意,这与换行是一回事! (first 之后的其他行不是 var 变量声明,请参阅 What is the purpose of the var keyword and when to use it (or omit it)? 了解差异)。

然而,您的示例在末尾没有逗号的情况下是等效的,在彼此的开头有 var


Is it ES5, ES6 thing?

这是自 ECMAScript 第 1 版(1997)以来的语法

https://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition,%20June%201997.pdf

(pdf 文件第 63/110 页,第 12.2 节,变量声明)

关于javascript - 为什么在 JavaScript 声明和初始化之间使用逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48213330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com