- 作用域不同。
var
声明的变量具有函数作用域或全局作用域,这取决于变量的声明位置;let
和const
声明的变量具有块级作用域,由一对花括号{}
包围的代码块定义。 - 变量提升不同。使用
var
声明的变量会被提升到函数或全局作用域的顶部,这意味着可以在声明之前使用这些变量;使用let
和const
声明的变量不会发生变量提升,必须先声明后使用。 - 重复声明不同。使用
var
可以在同一作用域内重复声明同一个变量,后面的声明会覆盖前面的;let
和const
不允许在同一作用域内重复声明同一个变量。 - 修改常量不同。
const
用于声明常量,一旦赋值后不能修改;let
用于声明变量,可以重新赋值,但指针指向的内容不能改变。 - 初始值设置不同。使用
var
和let
声明变量时,可以不设置初始值;使用const
声明变量时,必须设置初始值。 - 给全局对象添加属性不同。使用
var
声明的变量会成为全局对象的属性;使用let
和const
声明的变量不会成为全局对象的属性。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> document.write('var声明①可以先使用,再声明②var声明过的变量可以重复声明(不合理)③比如变量提升,全局变量,没有块级作用') document.write('let不能多次声明,var能多次声明,但以最后一次声明的数值为主') document.write('const①作用域与let一样,在{}里是局部变量,而var声明的变量是全局变量②const不允许多次声明同一变量' + '③const赋值后不能修改,let可以重新赋值④let、var可以不设初始值,但const必须要有初始值') </script> </body> </html>
var、let和const的区别
最新推荐文章于 2024-08-18 10:54:05 发布