Javascript 什么';var和let的区别是什么?

Javascript 什么';var和let的区别是什么?,javascript,var,let,Javascript,Var,Let,JavaScript的应用程序说 当JavaScript第一次出现的时候 创建时,只有var。这在大多数情况下基本上都很好, 但是它在工作方式上有一些问题——它的设计有时会有问题 令人困惑或非常讨厌。所以,让我们在现代社会中创造 JavaScript版本,一个用于创建变量的新关键字 与var的工作方式有所不同,在过程中解决了它的问题 它继续说 出于以上原因,我们建议您尽可能多地使用let 可能在代码中,而不是在变量中。没有理由使用var, 除非您需要支持旧版本的Internet Explorer

JavaScript的应用程序说

当JavaScript第一次出现的时候 创建时,只有
var
。这在大多数情况下基本上都很好, 但是它在工作方式上有一些问题——它的设计有时会有问题 令人困惑或非常讨厌。所以,让我们在现代社会中创造 JavaScript版本,一个用于创建变量的新关键字 与
var
的工作方式有所不同,在过程中解决了它的问题

它继续说

出于以上原因,我们建议您尽可能多地使用
let
可能在代码中,而不是在变量中。没有理由使用
var
, 除非您需要支持旧版本的Internet Explorer和 代码(在版本11之前,它不支持
let
;现代Windows Edge 浏览器支持let(很好)

我正在查看中的JavaScript代码,并且几乎普遍地看到初始化变量的
var


var
let
之间的差异是否被夸大了

Var的作用域更大,因此let仅在声明它的块中有效。
尝试添加10个在循环中输出数字的ClickHandler,您将很快看到差异

否,这些差异绝对不会被夸大
let
有些新,因此2015年前后的任何教程都会使用
var
。对于通用功能,许多教程继续使用
var
,因为惯性。最近的任何教程都应该至少使用
let
,最好是在适当的时候使用
const
——但是当教程是关于XYZ的时候,重点是
var
let
const
经常会在混乱中迷失方向。你鼓励初学者坚持使用
let
?当我输入JS命令重新定义一个可能已创建或可能尚未创建的变量时,我发现
var
非常有用。您不应该真正定义一个可能已定义或可能未定义的变量。这就违背了定义变量的初衷。有了这些,您就可以使用globals了。因此,如果至少能让您正确地构造声明,那么我们鼓励您是的
let
。在现实世界中,代码
var
除了一些非常奇怪的情况外几乎没有任何优势,在这些情况下,您可能只需重新构造代码即可。