当前位置: 首页 > news >正文

箭头函数语法及书写规则。

1.箭头函数概述:


ES6 允许使用箭头(=>)定义函数,箭头函数提供了一种更加简洁的函数书写方式,箭头函数多用 于匿名函数的定义;


2.箭头函数的注意点:

1. 如果形参只有一个,则小括号可以省略;
2. 函数体如果只有一条语句,则花括号可以省略,函数的返回值为该条语句的执行结果;
3. 箭头函数 this 指向声明时所在作用域下 this 的值;
4. 箭头函数不能作为构造函数实例化;
5. 不能使用 arguments;

3.特性:
 

1. 箭头函数的 this 是静态的,始终指向函数声明时所在作用域下的 this 的值;
2. 不能作为构造实例化对象;
3. 不能使用 arguments 变量;

4.代码演示及相关说明:


注意:箭头函数不会更改 this 指向,用来指定回调函数会非常合适;
 

<!DOCTYPE html> 
<html> <head> <meta charset="utf-8"> <title>箭头函数</title> 
</head> <body> <script> // ES6 允许使用箭头(=>)定义函数 // 传统写法:无参数 var say = function () { console.log("hello!"); } say(); // ES6 箭头函数: 无参数 let speak = () => console.log("hello 哈哈!"); speak(); // 传统写法:一个参数 var hello = function (name) { return "hello " + name; } console.log(hello("訾博"));  // ES6 箭头函数:一个参数 let hi = name => "hi " + name; console.log(hi("訾博")); // 传统写法:多个参数 var sum = function (a, b, c) { return a + b + c; } console.log(sum(1, 2, 3)); // ES6 箭头函数:多个参数 let he = (a, b, c) => a + b + c; console.log(he(1, 2, 3)); // 特性 // 1、箭头函数的 this 是静态的,始终指向函数声明时所在作用域下的 this 的值 const school = { name: "大哥", } // 传统函数 function getName() { console.log("getName:" + this.name); } // 箭头函数 getName1 = () => console.log("getName1:" + this.name); window.name = "訾博"; // 直接调用 getName(); getName1(); // 使用 call 调用 getName.call(school); getName1.call(school); // 结论:箭头函数的 this 是静态的,始终指向函数声明时所在作用域下的 this 的
值 // 2、不能作为构造实例化对象 // let Persion = (name, age) => { // this.name = name; // this.age = age; // } // let me = new Persion("訾博",24); // console.log(me); // 报错:Uncaught TypeError: Persion is not a constructor // 3、不能使用 arguments 变量 // let fn = () => console.log(arguments); // fn(1,2,3); // 报错:Uncaught ReferenceError: arguments is not defined </script> 
</body> </html> 

运行结果: 

1.ES6 写法:

<!DOCTYPE html> 
<html> <head> <meta charset="utf-8"> <title>箭头函数的实践和应用场景</title> <style> div { width: 200px; height: 200px; background: #58a; } </style> 
</head> <body> <div id="ad"></div> <script> // 需求-1 点击 div 2s 后颜色变成『粉色』 // 获取元素 let ad = document.getElementById('ad'); // 绑定事件:这也是错误写法,这里的 this 还是 window // ad.addEventListener("click", () => { // ES6 写法 // 定时器:参数 1:回调函数;参数 2:时间; // setTimeout(() => this.style.background = 'pink', 2000); // }) // 绑定事件 ad.addEventListener("click", function () { // ES6 写法 // 定时器:参数 1:回调函数;参数 2:时间; // 这个 this 才是 ad setTimeout(() => this.style.background = 'pink', 2000); } ) </script> 
</body> </html>

2. 需求-2 从数组中返回偶数的元素:

<!DOCTYPE html> 
<html> <head> <meta charset="utf-8"> <title>箭头函数的实践和应用场景</title> <style>div {  width: 200px; height: 200px; background: #58a; } </style> 
</head> <body> <div id="ad"></div> <script> //需求-2 从数组中返回偶数的元素 const arr = [1, 6, 9, 10, 100, 25]; // const result = arr.filter(function (item) { // if (item % 2 === 0) { // return true; // } else { // return false; // } // }); const result = arr.filter(item => item % 2 === 0); console.log(result); // 箭头函数适合与 this 无关的回调. 定时器, 数组的方
法回调 // 箭头函数不适合与 this 有关的回调. 事件回调, 对象的方法 </script> 
</body> </html> 


http://www.mrgr.cn/news/52083.html

相关文章:

  • AI产品经理:你更适合哪一种?
  • 泛微OA移动引擎中调用手机扫码后跳转另外页面(资产盘点)
  • 是时候扔掉你的密码了
  • 杭州威雅学校:中国橄榄球国家队到访助力杭州威雅校队新赛季之旅
  • 开发一个微信小程序要多少钱?
  • 双十一有哪些必买的好物清单?精选五款双11值得买的好物推荐
  • Quarto ppt模板制作与Rstudio git连接
  • JavaWeb环境下的Spring Boot在线考试系统开发
  • 尚硅谷redis 第97节 redisTmplate下答疑
  • springboot图片上传到本地
  • art虚拟机中的gcroot
  • 证明一个特定形式的函数在其三个正根中,两个较小根处的导数之和小于零
  • 北京十大取保候审律师事务所有哪些
  • Linux 命令 chown 和 chmod 的区别
  • 进行SEDEX认证需要准备哪些资料?
  • Java中Dom4j的配置与使用详细解析
  • 为什么k8s不支持docker-kubernetes
  • 【ArcPy】在pycharm中调试arcpy工具代码
  • c语言库文件
  • c++初阶数据结构速成