javascript - 了解以下 javascript 符号之间的区别
问题描述
我正在尝试学习 js 代码,并且在 GitHub 上浏览了一些示例代码,并且对这些代码感到困惑。以下或它们有什么区别。我删除了里面的内容以保持简单。
on_success: (file_doc) => {
}
on_success(file_doc) {
}
解决方案
第一个符号只能用于对象字面量,并将匿名箭头函数分配给对象的属性on_success
。与非箭头函数相比,这保留了外部this
; 所以this
函数内部将指向它在分配时指向的任何内容。
例子:
const obj = {
on_success: (file_doc) => {},
}
obj.on_success();
第二种表示法只能在 Javascript 类中使用,并在类的每个实例上定义一个命名的非箭头函数。非箭头(也称为ES5-function)意味着this
它内部将引用函数的执行上下文。
例子:
class Foo {
on_success(file_doc) {}
}
const bar = new Foo;
bar.on_success();
推荐阅读
- c# - 为什么向我显示此(未设置为对象的实例)错误?
- javascript - ReactJS中未处理的拒绝(错误),实现文件会导致错误
- git - VSCode 是否支持 git-repo?
- javascript - 单击html中的动画图标后如何显示菜单?
- python - (Python Tkinter)为什么当我尝试添加滚动条时我的按钮停止出现?
- angularjs - 如何替换 npm 中的凉亭包 jsTimezoneDetect
- r - R Shiny:更新文本而不更新数据表
- python - 在 django 3.0 中发送异步电子邮件
- python-3.x - 我用 opencv-python 检测到照片中的眩光点。我怎样才能删除它们?
- java - 如何使用 OOP 进行改造调用?