javascript的变量类型:var、let、const

不同点:可变性,与作用域的关系。

可变性:const定义的变量都不可变,而var和let可以任意更改。

const

只能在声明时被初始化一次,之后不允许将全新的值赋值给const变量。但可以修改const变量已经存在的值。

词法作用域:

var是在距离最近的函数或全局词法环境中定义变量(忽略块级作用域,例如for循环),const和let至今在最近的词法环境中定义变量(可以是块级作用域、循环内、函数内、全局环境内)。

 1     const GLOBAL_NINJA="Yoshi";
 2     function reportActivity(){
 3         const functionActivity="jumping";
 4         for(let i=0;i<3;i++){
 5             let forMessage=GLOBAL_NINJA+""+functionActivity;
 6             console.log(forMessage);
 7             console.log(i);
 8         }
 9         console.log(i);  //不能访问
10         console.log(forMessage);   //不能访问
11     }
12     reportActivity();
13     console.log(functionActivity);  //不能访问
14     console.log(i);  //不能访问
15     console.log(forMessage);//不能访问

 

posted @ 2018-08-27 11:36  阿兰儿  阅读(438)  评论(0编辑  收藏  举报