一、var,let,const
var: 可以重复声明、不能限制修改、没有块级作用域
let: 不能重复声明、变量、有块级作用域
const: 不能重复声明、常量、有块级作用域
// 块级作用域 {}, 循环,if 短短, 函数都属于块级作用域
二、剩余参数 (展开符) 剩余参数必须是形参的最后一个, 否则会报错
function show(a, b, ...c){console.log(a, b, c);//a=12 b=5 c=[4,8,19,27,36]
}
show(12,5,4,8,19,27,36);
数组展开
let arr1=[12,5,8];
let arr2=[4,5,6];
let arr=[...arr1, ...arr2];// 相当于拼接两个数组
console.log(arr)//[12,5,8,4,5,6]
json 展开
let json={a:12, b:5, c:99};
let json2={
...json,
d: 999
};
console.log(json2);//{a:12, b:5, c:99,d:999}
map、reduce、filter
//map
let arr=[68, 53, 12, 98, 65];
let arr2=arr.map(function (item){if(item>=60){return '及格';}else{return '不及格';}
});
console.log(arr);//[68, 53, 12, 98, 65]
console.log(arr2);//[及格, 不及格, 不及格, 及格, 及格]
//result
let arr=[68, 53, 12, 98, 65];
let result=arr.reduce(function (tmp, item, index){console.log(index+':'+tmp+','+item);
return tmp+item;
});
console.log(result);