如何更改this指向
- 1)call、apply、bind
- 2)var that=this;
- 3)箭头函数
如何确定this是谁
- 看谁调用的,点前面是谁,this就是谁
箭头函数怎么写
|
|
总结:
- 箭头函数中没有function关键字,去掉function关键字
- 当形参只有一个的时候,可以省略小括号
- 小括号和大括号之间有一个箭头:有大括号 必须要写return;如果没有大括号,表示箭头后面的结果就是return的结果
将下列函数改为箭头函数:
123456function a(b){return function(c){return b+c}}a(1)(2)// 3 -> 先执行a 再执行里面的匿名函数箭头函数:
|
|
闭包
- 函数执行的一瞬间
- 导致内存泄漏->因为会产出不销毁的作用域
- 当执行后返回的结果必须是引用数据类型,被外界变量接收,此时这个函数不会销毁
- 作用:私有化
- 闭包能干什么:模块化1234567891011121314151617//以下函数不是闭包:function a(b){return function(c){return b+c}}a(1)a(1)(2)//不是闭包的原因:函数执行的一瞬间确实有形成闭包,但是函数执行完成后,作用域就被销毁了,所以不是闭包//以下函数是闭包:let a=function (b){return function(c){return b+c}}();//是闭包的原因:函数执行的一瞬间确实有形成闭包,当执行后返回的结果是引用数据类型,被外界变量a接收,此时这个函数不会销毁,会产出不销毁的作用域,容易导致内存泄漏,所以是闭包
在vue中很多时候不能用箭头函数