gpt4 book ai didi

jQuery - 逗号与分号

转载 作者:行者123 更新时间:2023-12-01 00:55:50 26 4
gpt4 key购买 nike

我正在处理以前的开发人员编写的一些 jQuery 代码。我试图理解一个人何时/为什么会使用逗号来分隔语句而不是分号。

在下面的示例中,可以肯定地说使用逗号分隔语句没有任何好处吗?如果是...为什么,如果否...是否存在使用逗号有意义的情况?

仅供引用:这个问题是关于链接语句以及是否有好处。与逗号在语句中的作用无关。

var $some_field_1, $some_child_field, $some_field_2, $some_child_field_2;

function a() {

$some_field_1 = jQuery(".field_class"), $some_child_field = $some_field_1.find("input"), RunSomeFunction(), $some_field_2 = jQuery(".field_class_2"), $some_child_field_2 = $some_field_2.find("input");

}

VS。

var $some_field_1, $some_child_field, $some_field_2, $some_child_field_2;

function a() {

$some_field_1 = jQuery(".field_class");

$some_child_field = $some_field_1.find("input");

RunSomeFunction();

$some_field_2 = jQuery(".field_class_2");

$some_child_field_2 = $some_field_2.find("input");

}

我希望这是有道理的。谢谢大家!

最佳答案

通常使用逗号来分隔变量声明,但您显示的版本使用它们来分隔表达式。虽然这很微妙,但仍然很重要。

请注意,所有表达式都将变量名称分配给全局范围(从技术上讲,在您的示例中是词法环境,这些变量可能是在比全局范围更局部的范围中定义的)。

更好的例子是

var one = 1, two = 2, sum = function(a,b){ return a+b; };

请注意,如果您尝试在此处的变量声明中调用函数,则会导致 Uncaught SyntaxError: Unexpected token (.

由于所有声明本质上都以 var 开头,因此是局部变量(在变量环境中)。

将示例与以下内容进行对比

one = 1, two = 2, sum = function(a,b){ return a+b; }, sum(one,two);

这本质上是问题中的示例,区别主要在于变量的范围,而且由于每个变量只是一个表达式,因此允许函数调用。

有关 Comma operatorMDN 的更多信息

关于jQuery - 逗号与分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884092/

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