函數作用域對我來說是二十年來非常好的。現在我到處閱讀,我應該使用let
和const
而不是var
。我想這主要是因爲它是一個新功能。爲什麼我應該喜歡塊範圍?爲什麼我應該使用塊範圍而不是函數範圍?
0
A
回答
6
相關問題
- 1. Excel - 爲什麼SUMPRODUCT()函數返回#VALUE!當我使用範圍或命名範圍而不是數組常量?
- 2. 爲什麼是同時的,而範圍
- 3. 爲什麼我的範圍函數的輸出不是列表?
- 4. 爲什麼窗口範圍內的調用函數與對象範圍不同
- 5. 爲什麼不串範圍
- 6. 函數std :: arg()的範圍是什麼?
- 7. python函數的範圍是什麼?
- 8. 我應該使用什麼端口範圍?
- 9. 爲什麼Watch函數的角度Js參數應該是範圍變量?
- 10. Excel VBA - 在範圍函數中使用範圍函數
- 11. 「範圍」的指導鏈接功能是根範圍,而不是指令範圍
- 12. 爲什麼範圍$ apply()調用$ rootScope。$ digest()而不是這個。$ digest()?
- 13. Excel DO而不是範圍
- 14. 爲什麼[範圍(10)]和列表(範圍(10))不一樣?
- 15. 爲什麼跨範圍與指令範圍不同步?
- 16. 使用範圍函數
- 17. 使用範圍,而不是在軌
- 18. 爲什麼該函數未在此範圍內聲明?
- 19. jQuery函數範圍和訪問範圍
- 20. 用戶級別範圍而不是Liferay中的站點範圍
- 21. android:largeScreens的範圍是什麼?
- 22. @EnableTransactionManagement的範圍是什麼?
- 23. LoaderManager的範圍是什麼?
- 24. PTRACE_TRACEME的範圍是什麼?
- 25. keywordstats的範圍是什麼?
- 26. 什麼是範圍鎖?
- 27. 什麼是Server.MapPath的範圍
- 28. DateTime的範圍是什麼?
- 29. 什麼範圍是從
- 30. 什麼是範圍(在FS)?
因爲JS被批評很長一段時間沒有尊重所有其他語言(至少是着名的)尊重塊範圍。現在,JS正在通過彌補很多空白來推進這些語言。 –
你不應該,除非你有充分的理由這樣做。繼續使用* var *的一個很好的理由是它向後兼容。 * const *和* let *限制你的代碼運行的環境只有很少的好處,你可以從* strict mode *(也是向後兼容的)中獲得類似的好處。 – RobG
你可以在這裏閱讀,爲什麼你應該使用let和const,它是關於「Variable hoisting」 http://stackoverflow.com/questions/3725546/variable-hoisting –