1.ES6
(1)块级作用域
let a=1;
let声明的变量不存在提升,在同一个作用域下重复,不允许重复声明同一个变量
let n1 = 5;//不存在提升
console.log(n1);
*/
let n2 = 6;
//let n2 = 7;在同一个作用域下不允许重复声明同一变量
console.log(n2);
大括号之间的语句块就是一个块级作用域,例如,if,else,while,do-while,for,在块级作用域下,ley和consnt声明的都是局部的,无法被块级作用域以外访问到
var,let,const三个的区别
var声明的变量存在提升,在同一个作用域下可以重复声明同一个变量
let声明的变量不存在提升,在同一个作用域下重复,不允许重复声明同一个变量,存在块级作用域,即使在全局作用域下let声明的变量也不是全局的
const声明的时候必须赋值,不允许重复赋值,存在块级作用域
练习:计算1——100之间的所有整数和,使用let声明变量
let sum=0;
for(let i=1;i<=100;i++){
sum +=i;
}
console.log(sum);
(2)参数增强
可以给函数的参数设置默认值
function fn(a,b,c=0){
//c = c || 0;//es6之前的默认值
}
fn(20000,1000)//没有出现的实参就会使用默认值
(3)箭头函数
()=>{ }
简化了匿名函数的写法,不等价于匿名函数
sort((a,b)=>{
return a-b;
})
如果箭头函数的函数体中只有一行代码并且是return形式,可以简化为 sort((a,b)=>a-b);
var a