Es6箭头函数

不念不忘少年蓝@ 2024-03-31 09:05 199阅读 0赞

箭头函数是Es6新增加的一个语法特性,在简化编码方面,有着巨大亮点。

下文就是我对于箭头(=>)函数的定义与实用说明。

用法一(无参数)

定义语法

  1. var a = 10;
  2. var f = () => a;
  3. // 等价于
  4. var f = function(){
  5. return a;}

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. var a = 10;
  11. f = ()=> a;
  12. console.log(f());
  13. </script>
  14. <body>
  15. </body>
  16. </html>

运行结果
在这里插入图片描述

用法二(含有参数)

定义语法

  1. var add = (a, b) => a + b;
  2. // 等价于
  3. var add = function(a, b){
  4. return a + b;}
  5. console.log(add(1, 1))

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. var add = (a, b) => a + b;
  11. // 等价于
  12. var add = function(a, b){
  13. return a + b;}
  14. console.log(add(1, 1))
  15. </script>
  16. <body>
  17. </body>
  18. </html>

运行结果
在这里插入图片描述

用法三(箭头函数的代码块大于一行)

定义语法

  1. var add = (a, b) => {
  2. a = a + 1; return a + b;}
  3. // 等价于
  4. var add = function(a, b){
  5. a = a + 1;
  6. return a + b;
  7. }

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. var add = (a, b) => {
  11. a = a + 1; return a + b;}
  12. // 等价于
  13. var add = function(a, b){
  14. a = a + 1;
  15. return a + b;
  16. }
  17. console.log(add(1,2));
  18. </script>
  19. <body>
  20. </body>
  21. </html>

运行结果
在这里插入图片描述

用法四(返回的是对象)

定义语法

  1. let temp = stu => ({
  2. id:1,
  3. name:"lihua"
  4. });
  5. // 等价于
  6. temp = {
  7. id:1,
  8. name:"lihua"
  9. }

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. let temp = stu => ({
  11. id:1,
  12. name:"lihua"
  13. });
  14. // 等价于
  15. temp = {
  16. id:1,
  17. name:"lihua"
  18. }
  19. console.log(temp);
  20. </script>
  21. <body>
  22. </body>
  23. </html>

运行结果
在这里插入图片描述

用法五(与map结合)

定于语法

  1. // 这个正常写法需要写到上面 不然语法报错
  2. [1,2,3].map(function (x) {
  3. return x + x;
  4. });
  5. // =>函数写法
  6. y = [1,2,3].map(x => x + x)

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. // 这个正常写法需要写到上面 不然语法报错
  11. [1,2,3].map(function (x) {
  12. return x + x;
  13. });
  14. // =>函数写法
  15. y = [1,2,3].map(x => x + x)
  16. console.log(y)
  17. </script>
  18. <body>
  19. </body>
  20. </html>

运行结果
在这里插入图片描述

用法六(与setTimeout结合)

定义语法

  1. function foo(){
  2. setTimeout(() => {
  3. console.log('id:', this.id);
  4. },10000) // 这里设置10s之后出现结果
  5. }
  6. var id = 21;
  7. foo.call({
  8. id:42});

测试代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <script>
  10. function foo(){
  11. setTimeout(() => {
  12. console.log('id:', this.id);
  13. },10000) // 这里设置10s之后出现结果
  14. }
  15. var id = 21;
  16. foo.call({
  17. id:42});
  18. </script>
  19. <body>
  20. </body>
  21. </html>

运行结果
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,199人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Es6箭头函数

    `箭头函数`是Es6新增加的一个语法特性,在简化编码方面,有着巨大亮点。 下文就是我对于箭头`(=>)`函数的定义与实用说明。 用法一(无参数) 定义语法

    相关 ES6 箭头函数

    ES6 中添加了函数新的定义语法——`箭头函数`,当有大于一个形参的时候,必须使用`()`代表部分参数,函数体大于一行时,必须使用`{}`将函数体括起来,并使用 `return

    相关 Es6箭头函数

    let和const let 声明的变量只在 let 命令所在的代码块内有效。 const 声明一个只读的常量,一旦声明,常量的值就不能改变“(let)用来替代var声

    相关 es6箭头函数

    一。对箭头函数的理解 1. 在ES6中,"=>"是函数的表达式,并且箭头函数是匿名的。(这个箭头叫“lambda运算符”) 如: var lets = b => b\b

    相关 ES6箭头函数

    ES6箭头函数 一、什么是箭头函数 二、写法 三、箭头函数中this 一、什么是箭头函数 简化了匿名函数的写法, 二、写法 fu