var、let、const三者之间的区别

作用域不同

  • var声明的变量,作用在函数作用域里。如果在函数外声明的变量,为全局变量,作用在全局。
var、let、const三者之间的区别

var函数作用域演示

var、let、const三者之间的区别

var全局作用域演示

  • let声明的变量,作用在块作用域里。
var、let、const三者之间的区别

let块作用域演示

  • const声明的常量,作用在块作用域里。
var、let、const三者之间的区别

const块作用域演示

const声明的值不可修改

  • var、let定义的是变量。因为变量指向的内存地址可以改变,所以变量值是可以修改的。
  • const定义的是常量。因为常量指向的内存地址不可以改变,所以不可以修改常量值。
var、let、const三者之间的区别

const重新赋值演示

变量提升

var可以先使用,后声明,因为var可以提升变量。let、const不可以变量提升,必须先声明,后使用。

var、let、const三者之间的区别

var变量提升演示

var、let、const三者之间的区别

let后声明变量演示

let、const是es6新增的关键字

注意:window内置name变量,尽量不要声明全局变量name。

var、let、const三者之间的区别

全局变量name演示

区别   var   let
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章