飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

JavaScript箭头函数

时间:2021-11-24  作者:匿名  

javascript箭头函数,基础知识

创建函数有一种非常简单的语法,它被称为“箭头函数”,因为它看起来像这样:

let func = (arg1, arg2, ...argN) => expression

这里创建了一个函数 func,它接受参数 arg1..argN,然后使用参数对右侧的 expression 求值并返回其结果。

其实,它是下面这段代码的缩写:

let func = function(arg1, arg2, ...argN) {
  return expression;
};

让我们来看一个具体的例子:

let sum = (a, b) => a + b;

/* 这个箭头函数是下面这个函数的缩写版本:

let sum = function(a, b) {
  return a + b;
};
*/

alert( sum(1, 2) ); // 3

可以看到 (a, b) => a + b 表示一个函数接受两个名为 ab 的参数。在执行时,它对表达式 a + b 求值,并返回结果。

  • 如果我们只有一个参数,还能省略圆括号,使代码变得更短。

    例如:

    let double = n => n * 2;
    //等同于:let double = function(n) { return n * 2 }
    
    alert( double(3) ); // 6
  • 如果没有参数,必须保留空的括号:

    let sayHi = () => alert("Hello!");
    
    sayHi();

箭头函数可以像函数表达式一样使用。

例如,动态创建一个函数,下面例子为完整的网页文件:

<!DOCTYPE HTML>
<html>
<body>
  <script>
    let age = prompt("你现在多大了?", 18);
    let welcome = (age < 18) ?
      () => alert('成年人,你好') :
      () => alert("少年,你好!");
    
    welcome();
  </script>
</body>
</html>

上面的例子会弹出一个输入框,当你点击确定后,函数welcome();执行后会判断你的大小并弹出相对应的提手框。

多行的箭头函数

上面的例子从 => 的左侧获取参数,然后使用参数计算右侧表达式的值。

但有时我们需要更复杂一点的东西,比如多行的表达式或语句。这也是可以做到的,但是我们应该用花括号括起来。然后使用一个普通的 return 将需要返回的值进行返回。

就像这样:

let sum = (a, b) => {  // 花括号表示开始一个多行函数
  let result = a + b;
  return result; // 如果我们使用了花括号,那么我们需要一个显式的 “return”
};

alert( sum(1, 2) ); // 3

箭头函数还有其他有趣的特性。

现在,我们已经可以用箭头函数进行单行行为和回调了。

总结

对于一行代码的函数来说,箭头函数是相当方便的。它具体有两种:

  1. 不带花括号:(...args) => expression — 右侧是一个表达式:函数计算表达式并返回其结果。

  2. 带花括号:(...args) => { body } — 花括号允许我们在函数中编写多个语句,但是我们需要显式地 return 来返回一些内容。

搜你所爱
JavaScript:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。