在閱讀Douglas Crockford的「JavaScript:The Good Parts」和Stoyan Stevanov的「JavaScript模式」之後,我試圖確定究竟是什麼「過度的技巧」。他們都表示在代碼中使用++
或--
時會發生這種情況,但無法在SO中或通過Google搜索找到該術語的確切定義。有任何想法嗎?什麼是「過度技巧」?
回答
您可以從克羅克福德自己在這裏聽到它:http://www.youtube.com/watch?feature=player_detailpage&v=47Ceot8yqeI#t=4140s
簡單的答案是,++
和--
行爲上的變量,通常在同一時間做它,你正在做一些別的變量。例如,你可以快速決定這是什麼嗎?
y += x++ + ++y; // what is y now?
更多的StackOverflow討論:Why avoid increment ("++") and decrement ("--") operators in JavaScript?
我不瞭解你,但我可以立即告訴你,這節省了索引1處的代碼。我在80%的時間內使用Python,該語言甚至不* *後/前增加/減少。 JS開發人員無法記住這些運營商的簡單意義嗎?不是*複雜表達式*中的副作用不會造成混淆。但你的例子似乎對我來說相當有趣。很多C和C++開發人員似乎都和這些操作員相處得很好,儘管在C和C++中使用它們會更加困難,因爲潛在的未定義行爲。 – delnan 2011-12-29 11:35:31
對不起,這是一個人爲的例子。 'y + = x ++ + ++ y'怎麼樣? – Interrobang 2011-12-29 11:39:31
這確實很棘手,我建議你使用它。請注意,前面提到的C和C++開發人員會同意這種看法(部分原因是它們的語言中存在未定義的行爲)。 – delnan 2011-12-29 11:42:27
這是關於內置的小技巧。例如,avar++
是avar = avar + 1
的別名。
JavaScript充滿了運算符和其他讓編程更容易的事情,但它們只是一些技巧。這可能是他的意思。
另外,喬納森指出:Why avoid increment ("++") and decrement ("--") operators in JavaScript?
過度trickiness是主觀的。因此,它沒有明確的定義。
有人會說C着名的字符串複製代碼(while (*p++ = *q++);
)過於棘手,有人會說它不是。
這裏是鏈接一個相當長時間的討論:
Why avoid increment ("++") and decrement ("--") operators in JavaScript?
我想到這個主意的是,使用這些運營商在任何地方,但有單一線條上的單一變量,他們會對不在開發人員頭上的任何人感到困惑。
- 1. 這個技巧是什麼?
- 2. 什麼是一些jSoup優化技巧?
- 3. 什麼是Git的分支技巧?
- 4. 什麼是凸面船體技巧?
- 5. 什麼是Objective-c調試技巧?
- 6. CSS技巧* + html做什麼?
- 7. 滑塊高度技巧
- 8. 這個C技巧做什麼?
- 9. 調試javascript有什麼好的技巧?
- 10. 什麼是你最喜歡的顛覆技巧和竅門
- 11. MNIST tensorflow教程是什麼意思與matmul翻轉技巧?
- 12. 使用jsp文件時,eclipse中的常見技巧是什麼?
- 13. Python - 接受的金錢計算技巧是什麼?
- 14. 什麼是動態規劃? (在解決技巧)
- 15. 什麼是Ruby調試器技巧,調整和最佳實踐?
- 16. 什麼是使用Eclipse PDT的最佳提示和技巧
- 17. 加速蒙特卡羅模擬的最佳技巧是什麼?
- 18. Google Chrome自動安裝背後的JavaScript技巧是什麼?
- 19. Spark SQL如何優化連接?什麼是優化技巧?
- 20. 爲什麼不是這種垂直居中技巧工作?
- 21. 什麼是他們的標誌谷歌技巧?
- 22. Weld/CDI的最佳調試技巧是什麼?
- 23. 什麼是你最好的Swing設計模式和技巧?
- 24. 生成Javascript代碼的延續後面的技巧是什麼?
- 25. 腳本技巧
- 26. nVidia SLI技巧
- 27. CSS hacks(技巧)
- 28. NetBeans提高開發速度的技巧
- 29. 避免靜態方法過度使用的技巧
- 30. 通過jquery和java黑客技巧
這裏是一個相當長的討論鏈接:http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript – Jonathan 2011-12-29 11:25:52
有很多偉大的答案在這裏,我得到它現在。感謝大家的幫助! – kaidez 2012-01-02 10:47:47