在您的三个选项中,ES5中仅
支持第一个选项.另外两个是ES6中的补充.
第三个选项是第一个选项的ES6快捷方式,因此它们在ES6中工作相同.
当您使用第二个箭头语法时,这不是将其设置为第一个和第三个主机对象.这是箭头语法的功能之一,因此当您希望将其设置为主机对象时,不应使用它.相反,这将被设置为代码定义的词汇上下文 – 通常被称为“封闭上下文中的这个值”或“您的情况下的词汇值”,在这种情况下,这将是什么主机对象最初被声明为显然未定义.
这是一个关于箭头功能的很好的参考文章:ES6 In Depth: Arrow functions