JS中let 、var 和const 区别及作用域
作用域控制着变量与参数的可见性和生命周期。
1、块级作用域
任何一对花括号{}中的语句集都属于一个块,在括号内定义的所有变量在代码块外都是不可见的,为块级作用域,比如常用的if(){},for(){}
2、函数作用域?
有function(){}函数的形式,
3、局部变量
变量在函数内声明,变量为局部作用域,只能函数内部访问。
注:使用 var 关键字声明的变量不具备块级作用域的特性,它在 {} 外依然能被访问到。若实现块级作用域,用let
4、全局变量
变量在函数外定义,为全局作用域,网页中所有脚本和函数均可使用。
5、let
let声明的变量只在let命令所在的代码块内有效。
6、const
声明一个只读的常量,一旦声明,值不能改变,声明必须赋值,不赋值会报错、
7、var关键字
用来声明变量。如果在方法中声明,则为局部变量,如果是在全局域中声明,则为全局变量。