目录
一、特点
1、var
用于声明变量
存在变量提升
可以重复声明一个变量
变量声明在函数的外面是全局作用域,变量在函数内部,是局部作用域
使用var声明的变量属于顶层对象
2、let
用于声明变量
let声明的变量不可以重复声明
let声明的变量不存在变量提升
块状作用域
使用let声明的变量不属于顶层对象
3、const
用于声明常量
const声明的常量不可以被修改
const声明的常量不存在变量提升
块状作用域
使用const声明的变量不属于顶层对象
二、区别
1、变量提升
使用var会将变量声明提升到使用之前
console.log(a); var a = 10; //相当于: var a; console.log(a); a = 10;
但是使用let和const会出现报错
console.log(a); let a = 10;
2、重复声明
使用var可以重复声明,后面的会覆盖前面的
var a = 10; var a = 12; var a = 50; console.log(a);
但是使用let和const会出现报错
let a = 12; let a = 20; console.log(a); const b = 10; const b = 35; console.log(b);
3、作用域
var没有块级作用域,而let和const声明的范围是块状作用域,一对花括号就是一个块
4、顶层对象
浏览器中的顶层对象是window
var属于顶层对象
var a = 12; console.log(window.a);
而let和const不属于顶层对象
let a = 12; console.log(window.a); const b = 10; console.log(window.b);
var、let、const各自特点及区别详解
最新推荐文章于 2024-01-30 10:08:53 发布