博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序中使用箭头函数的问题
阅读量:6366 次
发布时间:2019-06-23

本文共 605 字,大约阅读时间需要 2 分钟。

事情起因

做了一个项目, 因为只有一个页面, 不想引入redux, 同时因为所有逻辑挤在了同页面的js下面, 对于后续的调试bug很不友好, 因此想到了把JS函数拆分出去.

问题重现

//index.jsimport send from '../../utils/send.js'...send,...//send.jsexport default () =>{    console.log(this)      ....}///复制代码

当我执行代码的时候发现this为undefined, 当时很不理解, 为什么会出现这种问题, 在index中调用的send函数, 他的this指向理应是page中的this啊, 以为记忆出错了, 随后使用了bind,call,aplly等方法来绑定this, 然而全部无效. 此时只好祭出搜索大法, 在查找资料的时候, 看到了这句话:

当我们使用箭头函数的时候,函数体内的this指向就是定义时所在的对象,而不是使用时候所在的对象,并不是因为箭头函数内部有绑定this的机制,而是箭头函数没有自己的this,他的this是继承外面的,因此他的内部this就是外部代码层的this

恍然大悟,改写了send.js方法, 解决了这个问题.

//send.jsexport defualt function send(){    console.log(this)}复制代码

转载地址:http://nnrma.baihongyu.com/

你可能感兴趣的文章
《CSS设计指南》读书笔记
查看>>
win10初始化mysql5.7.24
查看>>
Windows 下安装 SCWS
查看>>
每日两道前端面试题
查看>>
什么是产品Backlog修饰 (Backlog Grooming)?
查看>>
Java反射的基本使用
查看>>
破坏程序员生产力的 12 件事
查看>>
什么是SOLID原则(第1部分)
查看>>
动态规划 python 挖矿问题
查看>>
Angular material中自定义分页信息
查看>>
iOS马甲包过审技巧汇总
查看>>
HTTP--http之Nginx缓存(九)
查看>>
通过几个栗子认识 PHP 闭包
查看>>
eclipse编译项目的时候报某类找不到符号
查看>>
React16.3.0以后的生命周期(二) - 更新、卸载、异常
查看>>
正确判断js数据类型 总结记录
查看>>
浅析微信支付:前篇大纲
查看>>
PHP To Go 转型手记 (终)
查看>>
深入研究Java String
查看>>
JAVA设计模式-策略模式
查看>>