箭头函数
530 字
3 分钟
箭头函数
箭头函数<不具备this和arguments>不具备this和arguments>,自己家没有this就会往上级找this,从而解决this的指向问题。
如何更改this指向
- 1)call、apply、bind
- 2)var that=this;
- 3)箭头函数
如何确定this是谁
看谁调用的,点前面是谁,this就是谁
箭头函数怎么写
//将下列函数改为箭头函数function a(b){ return b+1;}//第一步:let a=(b)=>{return b+1;}//第二步(简化):let a=b=>b+1;总结:
- 箭头函数中没有
function关键字,去掉function关键字 - 当形参只有一个的时候,可以省略小括号
- 小括号和大括号之间有一个箭头:有大括号,必须要写
return;如果没有大括号,表示箭头后面的结果就是return的结果
将下列函数改为箭头函数:
function a(b){ return function(c){ return b+c }}a(1)(2)// 3 -> 先执行a 再执行里面的匿名函数箭头函数:
//第一步let a=b=>{ return function(c){ return b+c }}//第二步:删除function和一个形参的小括号let a=b=>{ return c=>{ return b+c }}//第三步:删return和大括号let a=b=>c=>b+c //高阶函数(俩个箭头及两个以上箭头的)闭包
- 函数执行的一瞬间
- 导致内存泄漏->因为会产出不销毁的作用域
- 当执行后返回的结果必须是引用数据类型,被外界变量接收,此时这个函数不会销毁
- 作用<私有化>私有化>
- 闭包能干什么<模块化>模块化>
//以下函数不是闭包: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中很多时候不能用箭头函数
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
使用Astro搭建个人博客1
博客指南使用Astro搭建个人博客及部署,使用Firefly主题,使用Vercel部署
2
Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy?
VueVue 的响应式原理中 `Object.defineProperty` 有什么缺陷?为什么在 Vue3.0 采用了 `Proxy`,抛弃了 `Object.defineProperty`?
3
Vuejs基础
VueVuejs基础
4
解决chrome自动填充白色背景(input:-internal-autofill-previewed)问题
CSS解决chrome自动填充白色背景(input:-internal-autofill-previewed)问题
5
临时在一段代码中取消eslint检查
Eslint临时在一段代码中取消eslint检查
随机文章随机推荐












