“JavaScript中的小点”1-var与let的区别
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
系列前言
这段时间为了完成我们的AIGal项目的前后端开发,我正在学习$JavaScript$。中途遇到的一些很多地方没有提到的小东西想记录一下,于是就有了这个系列。
本章前言
在MDN WebDoc学习$JavaScript$的时候声明变量使用的都是`let`,但是在RUNOOB菜鸟教程发现基本是`var`,于是想了解一下其中的区别。
正文
var
和let
在JavaScript中有一些重要的区别:
1. 作用域:
- var
:是函数作用域或全局作用域。即,在函数内部声明的var
变量只在该函数内有效。
- let
:是块级作用域。即,let
在最近的花括号{}
内有效,无论是一个函数、循环还是条件语句。
2. 变量提升:
- var
:声明会被提升到当前作用域的顶部,但赋值不会。因此,可以在声明之前使用,但值是undefined
。
- let
:也会提升,但在实际声明之前不能使用,会导致ReferenceError
。
3. 重复声明:
- var
:允许在同一作用域内重复声明变量。
- let
:在同一块级作用域内不能重复声明同名变量。
总结
上面写的这些特性使得let
通常比var
更安全,因为它可以避免一些常见的错误。一般来说,现在建议使用let
(或者const
)而不是var
。
总体来说,感觉let
更像是$C++$等等更严谨的语言,而var
就很有$JavaScript$原本的比较自由的风格,但是为了逐渐严谨,这些“自由”的语法正在逐步被$JavaScript$淘汰。
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 泠音
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果