首页 > 作文

什么是ES6箭头函数(怎么编写箭头函数)

更新时间:2023-04-07 13:23:59 阅读: 评论:0

箭头函数简化了原生写法,让代码更加简洁,来看一下基础的写法

箭头函数写法

基础写法

//原生写法 let fn = function(a,b){ return a+b; } //箭头函数写法 let fn = (a,b)=>{ return a+b; } 

箭头函数的写法也就是比原生的写法少了function多了箭头,所以这可能就是箭头函数的由来吧!

简化写法

1) 当形参有且只有一个的时候,可以省略小括号

let fn = n =>{ return n*n; } 

2)当代码体只有一条语句的时候可以省略花括号

注意:此时return必须省略,而且语句的执行结果就是函数的返回值

//返回n+n的值 let add = n => n+n; console.log(add(2)) //4 

使用箭头函数注意事项

1.不能作为构造实例化对象

 let Person = (name,age)=>{ this.name=name; this.age=age; } 

此时会报错

2.不能使用arguments变量

 let fn = ()=>{ console.log(arguments) } fn(); 

此时会显示argume仓龙nts未定义

this相关问题

可以看一下对this指向的介绍全面解析this指向问题,更方便理解。

箭头函数不适用this的四种标准规则,而是根据外层(函数或全局)作用域来决定this的

this是静态的。this始终指向函数声明时所在作用域下的this的值。

 蔡伦发明了什么function getName(){ console.log(this.name); } let getname2 = ()=>{ console.log(this.name); } // 设置window对象的name属性 window.name = 'angula' const obj = { name:'obj name' } // 直接调用 getName(); //angula getname2(); //angula //call调用 getName.call(obj); //obj name getname2.call(obj); //angula 

我们直接调用的话,this指向window,则会打印angula,而使用call对this进行绑定之后,我们会发现,普通的写法this发生了改变,打印obj name,但是箭头函数的this并未发生改变,依旧打印angula

来进行一个小实践

1.实现一个小功能,点击div之后,将div块的背景颜色设置福娃贝贝为red

 <div id="main"> </div> <script type="text/javascript"> // 1. 点击div 2秒后颜色变成红色 // 获取元素 let main = document.getElementById('main'); // 绑定事件 //原本写法 main.addEventListener("click",function(){ let _this=this; tTimeout(function(){ // 修改背景颜色 // console.log(this) //window _this.style.background = 'red' },2000) }) </script> 

这是我们原本的写法,不使用箭头函数,这时候需要保存一下this,不然直接使用this会指向window。

箭头函数写法

 <div id=我有一个恋爱"main"> </div> <script type="text/javascript"> // 1. 点击div 2秒后颜色变成红色 新课标卷// 获取元素 let main = document.getElementById('main'); main.addEventListener("click",function(){ //箭头函数写法 tTimeout(()=>{ // 修改背景颜色 // console.log(this) //this指向当前function this.style.background = 'red' },2000) }) 

这时候就不需要再对this进行保存了。这时候是不是感觉简化了好多呢?

2.从数组中返会偶数的元素

 const arr = [1,2,3,4,5,6]; // 原本写法 const result = arr.filter(function(item){ if(item%2===0){ return true; }el{ return fal; } }) 

是不是感觉这么简单的东西写起来要这么多东西,那么来看一下箭头函数的写法

 const arr = [1,2,3,4,5,6]; const result1 = arr.filter((item)=>{ if(item%2===0){ return true; }el{ return fal; } }) 

这时候会简单一点点,那么我们来看一下箭头函数简化之后的写法

 const arr = [1,2,3,4,5,6]; // 简化箭头函数 const result2 = arr.filter(item => item%2 === 0); 

这时候是不是感觉一切努力都不会白费,箭头函数可以使得代码变得更加的简洁呢?

总结:

箭头函数适合与this无关的回调,如定时器,数组的方法回调
不适合与this有关的回调,如事件回调,对象的方法,当然不适合并不是说不能使用箭头函数

本文地址:/d/file/titlepic/107873539

本文发布于:2023-04-07 13:23:57,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/90664169797f3a4a3f1a294501946e86.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:什么是ES6箭头函数(怎么编写箭头函数).doc

本文 PDF 下载地址:什么是ES6箭头函数(怎么编写箭头函数).pdf

下一篇:返回列表
标签:箭头   写法   函数   这时候
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图