为了账号安全,请及时绑定邮箱和手机立即绑定

“箭头功能”和“功能”是等效/可交换的吗?

“箭头功能”和“功能”是等效/可交换的吗?

繁星淼淼 2019-05-21 13:34:41
“箭头功能”和“功能”是等效/可交换的吗?ES2015中的箭头功能提供了更简洁的语法。我现在可以用箭头功能替换所有函数声明/表达式吗?我需要注意什么?例子:构造函数function User(name) {  this.name = name;}// vsconst User = name => {  this.name = name;};原型方法User.prototype.getName = function() {  return this.name;};// vsUser.prototype.getName = () => this.name;对象(文字)方法const obj = {  getName: function() {    // ...  }};// vsconst obj = {  getName: () => {    // ...  }};回调setTimeout(function() {  // ...}, 500);// vssetTimeout(() => {  // ...}, 500);变量函数function sum() {  let args = [].slice.call(arguments);  // ...}// vsconst sum = (...args) => {  // ...};
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

看看这个Plnkr的例子

每次调用按钮时,变量的增量this都是非常不同的timesCalled增量。这回答了我的个人问题:

.click( () => { } )

.click(function() { })

从Plnkr中的Guid计数可以看出,在循环中使用时都会创建相同数量的函数。


查看完整回答
反对 回复 2019-05-21
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞


JavaScript箭头函数只是定义函数的另一种方式。


箭头函数不仅使您的代码看起来更干净,更具体,更易于阅读。它还提供了隐含回报的好处。


下面我将分享一些简单的示例,这些示例自我解释函数的声明以及如何定义JavaScript箭头函数。


/*----------------------------------

    JavaScript Arrow Functions 

  ----------------------------------*/


// Defining a function.

function addNumbers(a, b) {

    return a + b;

}


addNumbers(10, 6);  // 16


// Using anonymous function.

var addNumbers = function(a, b) {

    return a + b;

}


addNumbers(10, 6); // 16


// using Arrow Functions or Fat Arrow functions.

var addNumbers = (a, b) => {

    return a + b; // with return statement

}


addNumbers(10, 6); // 16


// Using Arrow Functions or Fat Arrow functions without return statements and without curly braces.

var addNumbers = (a, b) => a + b; // this is a condensed way to define a function.


addNumbers(10, 6); // 16

在这里,我将为您提供有关JavaScript箭头功能的链接:如何,为什么,何时(以及何时)使用它们将向您提供示例和详细信息...


查看完整回答
反对 回复 2019-05-21
  • 3 回答
  • 0 关注
  • 742 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信