函数作用域对我来说是二十年来非常好的。现在我到处阅读,我应该使用let
和const
而不是var
。我想这主要是因为它是一个新功能。为什么我应该喜欢块范围?为什么我应该使用块范围而不是函数范围?
0
A
回答
6
相关问题
- 1. Excel - 为什么SUMPRODUCT()函数返回#VALUE!当我使用范围或命名范围而不是数组常量?
- 2. 为什么窗口范围内的调用函数与对象范围不同
- 3. python函数的范围是什么?
- 4. Excel VBA - 在范围函数中使用范围函数
- 5. 为什么Watch函数的角度Js参数应该是范围变量?
- 6. 我应该使用什么端口范围?
- 7. “范围”的指导链接功能是根范围,而不是指令范围
- 8. 为什么跨范围与指令范围不同步?
- 9. 为什么[范围(10)]和列表(范围(10))不一样?
- 10. 什么是DATEFIRST()函数的范围在DOTNET应用
- 11. LoaderManager的范围是什么?
- 12. android:largeScreens的范围是什么?
- 13. @EnableTransactionManagement的范围是什么?
- 14. PTRACE_TRACEME的范围是什么?
- 15. 什么是范围(在FS)?
- 16. #define的范围是什么?
- 17. 什么范围是从
- 18. 为什么超出范围?
- 19. 范围的递归函数(从范围-v3)导致编译分歧:为什么?
- 20. 为什么在Javascript中,范围是功能级而不是块级?
- 21. 为什么rxjs/Observable函数像范围不可用?
- 22. 为什么我的范围未定义?
- 23. lambda函数不使用本地范围
- 24. 为什么不是我的jsangular循环遍历我的范围?
- 25. jquery函数范围
- 26. Javascript函数范围
- 27. C++函数范围
- 28. Python范围函数
- 29. javascript函数范围
- 30. Python函数范围
因为JS被批评很长一段时间没有尊重所有其他语言(至少是着名的)尊重块范围。现在,JS正在通过弥补很多空白来推进这些语言。 –
你不应该,除非你有充分的理由这样做。继续使用* var *的一个很好的理由是它向后兼容。 * const *和* let *限制你的代码运行的环境只有很少的好处,你可以从* strict mode *(也是向后兼容的)中获得类似的好处。 – RobG
你可以在这里阅读,为什么你应该使用let和const,它是关于“Variable hoisting” http://stackoverflow.com/questions/3725546/variable-hoisting –