** 1. 箭头函数**
匿名函数:代替一切函数定义:普通函数定义,匿名函数自调,回调函数
口诀:
1:去function 变为 ()=>{ }
2:如果只有一个形参,可省略()
3:如果函数体只有一句话,则可省略{}
但如果一句话是return,则必须去掉return
箭头函数的特点:让内部this和外部this保持一致
今后,只要希望回调函数内的this,和外部的this保持一致时,就可将回调函数改为箭头函数。让内部this与外部this保持一致!
但是,如果就是希望函数内的this与函数外的this不同时,就不能改成箭头函数!
比如: 对象中的方法不能改成箭头函数
是回调函数的另一种写法,和之前的匿名函数不完全一样
ps:匿名函数:没有名称的函数 funtion(){ }
ps:回调函数:将匿名函数以实参的形式传递,这个匿名函数就称为回调函数
function fun(a){
a(); //执行的是匿名函数函数体中的代码
}(funciton(){ })
function fun(){ }
sort((a,b)=>{
return a-b;
})
如果箭头函数的函数体中只有一行代码,并且是return形式的,可以简化为
sort((a,b)=>a-b)
(1)块级作用域
使用let关键字声明的变量,只能在块级作用域下使用,不能被外部访问,不存在变量提升
块级作用域:{ } for 、while、do 、if...
防止污染全局
``
```bash
(2)箭头函数
是回调函数的另一种写法,和之前的匿名函数不完全一样,
sort((a,b)=>{
return a-b
})
如果箭头函数的函数体中只有一行代码,并且是return形式的,可以简化为 sort( (a,b)=>a-b )
let mapArr=['helool','todat'];
// 普通函数
let pa=mapArr.map(function (ele){
return ele.length
})
console.log(mapArr) // ['helool', 'todat']
console.log(pa,'普通函数') // [6, 5]
// 箭头函数
let pa1=mapArr.map((ele)=>{
return ele.length
})
console.log(pa1,'箭头函数')
// 当箭头函数只有一个参数时,可以省略参数的圆括号
let pa2=mapArr.map(ele=>{
return ele.length
})
console.log(pa2,'省略参数的箭头函数')
// 当箭头函数的函数体只有一个 `return` 语句时,可以省略 `return` 关键字和方法体的花括号
let pa3=mapArr.map(ele=>ele.length)
console.log(pa3,'省略')