var let const的区别?

js有三种定义变量的方式const,let,var

一、var:

var定义的变量可以修改 ,不初始化会输出undefined,作用于全局作用域.可以跨块访问,但不能跨函数访问。

二、let:

let作用于块级作用域,函数内部定义的变量,函数外部识别无效。不能跨函数访问。

块级作用域在{}里

三、const:

const 定义的常量不可以修改,而且必须初始化。只能在块作用域里访问。

在ES5中作用域:全局作用域,函数作用域。但是没有块级作用域。

在ES6中作用域:全局作用域,函数作用域。块级作用域。