1

語境

我正在學習如何在一貫代碼,可讀且maintainably。按什麼順序聲明變量和函數?

我對變量和函數聲明的順序一無所知。

例子:

var example = { 

    A: function() { 
     var a, b, c; 
    }, 

    B: function() { 
     var a, b, c; 
    }, 

    C: function() { 
     var a, b, c; 
    } 

} 

問題

  • 按字母順序是最好的?
  • 難道順序可以提高代碼執行的速度嗎?
+0

訂單應該如何提高執行速度?我非常懷疑,儘管我無法證明這一點。 – user123444555621 2012-07-15 11:09:10

回答

1

我用jslint來檢查代碼質量。它可以與Visual Studio和許多其他非常好的東西集成。

的JSLint建議使用這樣的:

var example = { 
    A: function() { 
     var a, b, c; 
    }, 

    B: function() { 
     var a, b, c; 
    }, 

    C: function() { 
     var a, b, c; 
    } 
}; 

關於變量,它表明在封閉範圍內的開始總是宣稱他們,因爲這實際上是如何的代碼將被解釋(這是JavaScript的語義)。

關於性能,您無法通過更改順序來改善或降低性能。

關於訂單...你應該按照對你(和你的團隊)更有意義的順序去做。我個人喜歡做自頂向下或者自頂向下(這意味着首先放置最重要的功能,然後將依賴的功能放在那個之後,等等......或者相反......首先放置更簡單的功能,然後然後是建立在這些之上的功能)。

0

我認爲這是僞代碼,而不是一個實際的代碼。然而,這更多的是代碼指南 - 可讀性,可維護性 - - 比其他更重要。

此外,我會考慮使用multiple var statement來聲明變量。我只使用一個var語句如果它只是聲明和變量在邏輯上相互關聯。

此外,由於hoisting,它也沒有關係到你聲明變量的作用域的哪個點:JS總是將聲明移動到頂部,所以你可以自由地在邏輯塊,可幫助您更好地維護和閱讀自己的代碼。

0

我不知道肯定你的問題是什麼,而在於你的問題declaring variables and functions, in what order?你提到這個詞order所以在這裏,當你聲明變量和函數

test(); 
function test() 
{ 
    alert(1); 
} 

它的聲明,但它之前調用的函數是一些重要的東西「LL運行,將不通過任何錯誤,但之後會產生錯誤

a(); 
a = function() 
{ 
    alert(1); 
}; 

函數調用應分配的函數表達式的變量後調用。你可以在這裏找到更多MDNDecent Programming AdviceJavaScript Hoisting Explained