ES6语法之变量定义

 let 定义变量
       特点:
           let 定义的变量,不会进行预解析
           let 定义的变量,与 forEach() 中的变量类似
           每次执行都会定义出一个新的,相互之间不影响的变量
           尤其是在循环中,for,forEach,for...in,都最好使用let定义变量
           let 不能重复定义变量名称,一个变量名称只能定义一次
           let 定义的变量,如果是定义在 { } 中,只能在 { } 中被执行被调用
           在 { } 之外,是不能被调用执行的
           { } 包括 if switch  for forEach for...in while function
           let 在不同 { } 中,是不同作用域中定义let 变量
           此时,变量的名称与 其他 { } 中的变量名称,或者{ }之外的变量名称,是可以重复 
 
  例:
 1 //在for循环中,使用let 定义的循环变量
 2   for(let j = 0 ; j<= 10 ; j++){}
 3   // if判断中,使用var 定义 变量
 4   if(true){
 5   var abc = 'abc';
 6      }
 7  // 在if外,只要执行了,就可以调用
 8  console.log(abc);
 9  // if判断中,使用let 定义 变量
10  if(true){
11  let def = 'def';
12       }
13  // 在if外,即使执行了,也不能调用
14  console.log(def);
const 定义变量
         在JavaScript中往往,管const定义的变量,称为常量
         const定义的变量,不能被重复赋值,数据已经定义,不能更改
         const定义的变量名称,也不能重复
         const定义在{}中,不能在{}外调用
         一般使用 const 定义 对象,数组,函数,引用数据类型
         const中存储的是引用数据类型的地址,只要地址不改变,可以改变数组,对象中的单元存储的数据
 
  例:
 1    // const定义的变量,一旦赋值,不能改变
 2     const strstr = 100;
 3    // 对const定义的变量,重复赋值,会报错
 4    // strstr = 200;
 5    // 定义变量的名称,不能重复
 6    // const strstr = ''
 7    if(true){
 8         const sss = 'sss';
 9         console.log(sss);
10      }
11    // console.log(sss);
12    const arr = [1,2,3,4,5,6];
13    // 给数组中第1个单元,修改存储的数据
14    // const arr 中存储的数组的地址是不改变的,可以执行的
15    arr[0] = '北京'; 
16    console.log(arr);
17    // 修改对象中,单元存储的数据,不是修改 obj中存储的内存地址,是可以执行的
18    const obj = {name:'张三'};
19    obj.name = '李四';
20    console.log(obj);
总结:        
              let    多用于定义 基本数据类型 以及 循环中
              const  多用于定义 引用数据类型
              特点:定义的变量名称不能重复
              在 { } 和 循环中定义,只能在 { } 和 循环中使用
              let会建立独立的,存储不同的,相互不冲突数据的变量
              const定义的变量,不能重复赋值,不能修改存储的数据
posted @ 2020-04-19 21:19  YH6  阅读(910)  评论(0编辑  收藏  举报