变量的扩展
1. let 在es6中是新增的声明变量的关键字
特性: 1.没有预解析
2. 不允许重复声明
3. 块级作用域 {} 称之为代码块
2. const
1. 常量 固定的值 不能被修改
2. 对象obj 属性可以修改的
超引用
/*
* 超引用: (...)
* 用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中
* 参数args 可随意定义
* */
function fun(...args) {
console.log(args);//[1, 2, 3, 4, 5, 6]
for(let i of args){
console.log(i)//1
//2
//3
//4
//5
//6
}
args.push(8);
console.log(args);//[1, 2, 3, 4, 5, 6, 8]
}
fun(1,2,3,4,5,6)
赋值的扩展
解构赋值: 可以按照一定的结构进行赋值
1.对象属性名一定要对上
//数组的格式
var [a,b,c] = [40,20,30];
console.log(a,b,c) //40 20 30
//json格式
var {a,b,c} = {a:10,c:30,b:20}; //可以调换顺序
console.log(a,b,c); //10 20 30
var [a,[b,c],d] = [5,[10,20],30]; //格式对应即可
console.log(a,b,c,d) //5 10 20 30
//混用
var [{a,b},c,[d,e],f] = [{b : "jack",a : "100"},5,[10,20],30];
console.log(a,b,c,d,e,f) //100 jack 5 10 20 30
Es6的for 循环
es5的for循环:
var arr = ["red","green","blue","yellow","black"];
for(var i = 0;i < arr.length;i++){
console.log(arr[i]); //
}
for in 循环:
for(var i in arr){
console.log(i); //输出的是索引
console.log(arr[i]);
}
for of 循环:(不能用来遍历json)
for(var i of arr){
console.log(i); //输出的直接是值
}