有用的话记得收藏呀!!!!
1.箭头函数:以(=>)定义函数,这种方式更为简便,箭头函数多用于匿名函数的定义
2.注意点:a.如果形参只有一个,则小括号可以省略
b.函数体如果只有一条语句,则花括号可以省略,并省略return,函数的返回值为该条 语句的执行结果
c.箭头函数是静态的,始终指向 函数声明时时所在作用域下this的值
d.箭头函数不能作为构造函数实例化
e.不能使用argument变量调用,因为箭头函数没有constructor方法,所以不能够用作构造函数。可以用展开符...解决(这里不了解...展开符去百度一下,面试经常会问到)
f.不能够使用new关键字
g.没有原型属性(prototype)
3.与普通函数的区别:
a.首先当然是他的简洁性,箭头函数是一个匿名函数
b.箭头函数不绑定this,会捕获其所在的上下文 的this值,作为自己的this值,任何方法都改变不了其指向,比如call(), bind(), apply();也就是箭头函数的this指向当前上下文对象
而普通函数的this指向调用它的那个对象,即当前对象
还有第二条注意点中的 d.e.f.g这四条就不重复放过来啦
4.写法:a. let show =()=>{ }
等价于 function show(){ }
b. 省略()和 { }
let show=function(a){
return 2*a
}
等价于 let show=a=>2*a //如果只有一个参数,()可以使省略,如果只有一个return,{ }可以省略
c.省略{ }
let arr=[32,58,46,98,89,77]
arr.sort(function(a,b){
return a-b
})
等价于 arr.sort((a,b)=>a-b) //只有一个return可以省略