一、var、let、const
- 使用
var
声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象; - 使用
let
声明的变量,其作用域为该语句所在的代码块内,不存在变量提升; - 使用
const
声明的是常量,在后面出现的代码中不能再修改该常量的值。
var
使用 var 在全局级别(在函数外部)进行声明都会自动成为 window 对象上的一个属性
举个简单的例子:
var name = 'Johnson';
window.name === name // true
let 、const
但是,如果你使用 let 或者 const 在函数外部声明一个变量,它不会被添加到 window 对象中
let job = 'frontend';
window.job === job // false