箭头函数
箭头函数简化了函数的的定义方式,一般以 "=>" 操作符左边为输入的参数,而右边则是进行的操作以及返回的值inputs=>output
[1,2,3].forEach(val => console.log(val)););
输入参数如果多于一个要用()包起来,函数体如果有多条语句需要用{}包起来
箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。 正是因为它没有this,从而避免了this指向的问题。
var person = {
name:'zfpx',
getName:function(){
- setTimeout(function(){console.log(this);},1000); //在浏览器执行的话this指向window
+ setTimeout(() => console.log(this),1000);//在浏览器执行的话this指向person
}
}
person.getName();
回调函数
回调函数需求 var arr = [10,33,44,55,88,20,32]
第⼀层回调函数 在不不修改本身情况下 每个val 加10
第⼆层回调函数 在不不修改本身情况下 每个val * 10
第三层回调函数 过滤掉所以 ⼩小于400 的值
var arr = [10, 33, 44, 55, 88, 20, 32];
function m(Arr){
let arr = Arr;
// error 语法 map 结束要加 ;
// 第一层
(function(A){
let B = A.map((val) => {
return val + 10
});
console.log(B);
// 第二层
(function (A){
let B = A.map((val) => {
return val * 10
});
console.log(B);
// 第三层
(function (A){
let B = A.filter((val) => {
return val < 400;
});
console.log(B);
})(B)
})(B)
})(arr)
}
m(arr);