1:es6里面也有let会计作用域和var的变量提升,函数的变量提升,函数与变量提升会先提升函数,把函数体全部提升上去,const也和let一样都是块级作用域,都只能在大括号里面写
2:函数的提升的步骤:先找到生成环境,在找形参,在给实参赋值,在找变量,在找普****通函数(函数字面量不会被提升:var fn=function(){console.log(666)})
3:结构赋值:一般用于数组和对象:例如 //结构赋值
var yes={
a:“我是美女”,
b:“我是帅哥”
};
var {a:girl,b:boy}=yes;
console.log(girl ,boy);
console.log(66);
var a=6;
var b=8;
var obj={
a,b
}
console.log(a,b);
//结构赋值就找到相同的变量,把没有值的变量直接单写
3:展开预算符 不定参数 默认参数 默认参数:
展开运算符:以省略号为代表(…),用法比较广泛,例子
//展开运算符,就是把里面的内容收到一起,
var a = [999, 999, 000, 000]
var arr = […a, 56, 56, 78, 78];
console.log(arr);
//结果为:Array(8)
// 0: 999
// 1: 999
// 2: 0
// 3: 0
// 4: 56
// 5: 56
// 6: 78
// 7: 78
var obj={a:22,b:33,c:44};
var obj1={…obj,d:77,e:88};
console.log(obj1);
//结果为:{a: 22, b: 33, c: 44, d: 77, e: 88}a: 22b: 33c: 44d: 77e: 88__proto__: Object
var arr=[78,99,00];
var [r,…b]=arr;
console.log(b);
//它的第一个值赋值给了r,其余的值赋值给了b;
//结果为[99, 0]
不定参数的符号也是省略号(…),如果它的前面有其他需要传值,会对位传,剩余的全部赋值后面省略号里面,例如
//fn传参把123传给了x,其余的值传给了y
function fn(x,…y){
console.log(x,y)
}
fn(123,3,4,5,6,7)
增强字面量:就是不需要以键值对的方式写,找到一样的键名,就可以直接赋值,例如
var name = “赵春梅”;
var sex = “女”;
var object = {
name: name,
sex: sex,
}