1、let
在ES6 之前,变量声明都是使用var 但是var 作用域只有全局和局部
for(var i=0;i<2;i++){}
console.log(i)
通过var 会造成一些不合理的情况
1.在循环中用于记录的变量会泄露成全局变量
2.导致代码块中的同名变量是同一个变量,即导致代码块中的变量没有独立的作用域
ES6 就提供一个 let 块级变量
var name='Tom';
if(true){
// var name='Jquery'
// let 给js带来块级作用域,在let声明的变量所在的块级作用域中,
//如果出现在全局变量命名相同的情况下,在块级作用域中的变量不会泄露到全局中去
let name='Jquery'
}
console.log('name======'+name)//var为Jquery,let为Tom
let[x,y]=[1,2];
// 相当于
// let x=[1,2][0];
// let y=[1,2][1];
console.log(x,y)
2、const 不能被二次赋值,会报错哦
3、箭头函数是ES6提供的一种简便编写函数的一种方式,值得注意的是,箭头函数不会改变this的指向
格式:(pare1,pare2,pare3,……)=>{函数体}
如果需要多次调用该函数,可以使用一个变量接受这个箭头函数
// var i=(function(n){
// return n+1;
// })(8);
// console.log(i);
//上下两个下发的结果是一样的
let i=(
(n)=>{retur