簡體   English   中英

jQuery - 逗號與分號

[英]jQuery - commas vs. semicolons

我正在研究一些前一個開發人員編寫的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);

這本質上是你在問題中的例子,差異主要是變量的范圍,而且每個只是一個表達式,允許函數調用。

有關逗號運算符MDN的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM