2012-03-20 42 views
0

在Javascript中,是它更好地做到這一點:在應用substr()之前檢查.length?

var string = 'hello'; 
if(string.length > 10) { 
    string = string.substr(0,10); 
} 

或者乾脆:

var string = 'hello'; 
string = string.substr(0,10); 

我知道兩者之間的性能差異不會有什麼巨大的,但我喜歡我的JS運行儘可能輕鬆!

哪一個是最好用的?

感謝

+4

除非你打算在一個循環內做幾十萬次,否則這個問題是沒有意義的,我將與第二個一起去,因爲它完全相同,它更短。 – Jon 2012-03-20 09:40:25

+1

如果「IF」陳述對結果沒有影響,爲什麼要保留它? – Dutchie432 2012-03-20 09:42:48

+1

@MikeHayes:思考性能是開發人員發展過程中的一個理想步驟。知道什麼時候不這樣做會更困難,所以不要擔心。 – Jon 2012-03-20 09:50:13

回答

1

我只會用if如果它要表達一些業務邏輯。 (例如:

if (string.length > someConfiguredMaxLength) { 
} 

這樣你會自動添加一個可讀的註釋你的代碼,這使得它更好地瞭解

關於peformance,我會說:

過早的優化是所有邪惡的根源 - DonaldKnuth

1

或者,可能是你可以結合兩種

var str = 'hello'; 
str = str.length > 10 ? str.substr(0,10) : str; 
相關問題