2011-10-14 70 views
1

我見過像一些JS庫下面的代碼:是否在javascript中使用增量運算符而不鼓勵?

var i; 
for (i = 20; i >= 0; i -= 1) 
{ 
} 

我不知道爲什麼他們會選擇以這種方式來減小i。在JavaScript中使用++--有什麼問題嗎?

+2

我非常懷疑++或 - 操作符有問題。這些運營商已經和我們在一起很長時間了。 –

回答

1

Douglas Crockford,也就是JavaScript的教父,不鼓勵++

混淆的長處和短處

要小心,不要跟隨+與+或++。這種模式可能會造成混淆。在他們之間插入parens以使你的意圖清晰。

total = subtotal + +myInput.value; 

更好寫成

total = subtotal + (+myInput.value); 

,使得+ +是不是誤讀爲++。

就個人而言, - 或++在for循環中是完全可以的,因爲它的含義非常清晰。我傾向於遵循Crockford的大部分指導原則,因爲它一般是JS公約的基礎。

查看更多here

+0

以這種方式使用'+'通常是將字符串轉換爲數字。我認爲使用本身並不明確。 –

+0

-1:這不是關於「++」運算符,而是關於單個「+」,後跟另一個「+」或「++」。看你的例子。 –

+0

這個例子並不是指向,但它們仍然指代相同的代碼概念,不會引起混淆或誤導。不幸的是,我知道的唯一例子是克羅克福德給出的演示視頻。 -1先生您現在瞭解這個概念。 –

4

增量和減量運算符在JavaScript中工作得很好。很多人不使用它們,因爲Crockford建議不要在他的書JavaScript: The Good Parts中使用它們。我一般喜歡克羅克福,但我確實覺得這個特別的建議有點嚴厲。我還沒有看到任何令人信服的情況或證據表明它們是有害的。

+5

+1 - *「我確實覺得這個建議有點惡劣」* ......正如Crockford的許多建議一樣。 –

+0

+1。如果你知道他們做了什麼以及他們的工作方式,那麼我不明白爲什麼在大多數情況下使用它們會有問題。 –

0

我認爲循環,增量和減量運算符並不真正有害(從我所見過的),但你不應該在循環外使用它。

相關問題