// 1.变量作用域:变量在上面范围内是可用的
{
}
// 为什么闭包可以解决问题:函数是一个作用域
//1.属性的增强写法
const name = 'why';
const age = 18;
const height = 1.88;
// ES5的写法
// const obj = {
// name:name,
// age:age,
// height:height,
// }
// es6写法
const obj = {
name,
age,
height
}
console.log(obj);
// 2.属性的增强写法
// ES5的写法
// const obj2 = {
// run :function(){
// },
// eat:function(){
// }
// }
const obj2 = {
run (){
},
eat(){
}
}
// filter/map/reduce
// filter中的回调函数有个要求:必须返回一个boolean值
// true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中
// false:当返回false是,函数内部会过滤掉这次的n
// 1.filter函数的使用
const nums = [10,20,111,222,444,40,50];
let newNums = nums.filter(function(n){
return n<100
})
console.log(newNums);
// 2.map函数的使用
// 20 40 80 100
let new2Nums = newNums.map(function(n){
return n*2
});
console.log(new2Nums);
// 3.reduce函数的使用
// reduce作用对数组中所有的内容进行汇总
let total = new2Nums.reduce(function(preValue,n){
return preValue+n
},0)
console.log(total);
// 第一次:preValue 0 n 20
// 第二次:preValue 20 n 40
// 第二次:preValue 60 n 80
// 第二次:preValue 140 n 100
// 240
// 代码整合
let total1 = newNums.filter(function(n){
return n<100
}).map(function(n){
return n*2
}).reduce(function(preValue,n){
return preValue+n;
},0)
console.log(total1);
let total2 = newNums.filter(n=>n<100).map(n=>n*2).reduce((pre,n)=>pre+n)
console.log(total2);
ES6基础
最新推荐文章于 2024-09-03 16:07:32 发布