返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript箭头函数与普通函数的区别示例详解
  • 275
分享到

JavaScript箭头函数与普通函数的区别示例详解

JavaScript箭头函数普通函数JavaScript箭头普通函数区别 2022-11-13 18:11:32 275人浏览 薄情痞子
摘要

目录箭头函数与普通函数的区别箭头函数的理解箭头函数里的this指向总结箭头函数与普通函数的区别 要讨论箭头函数和普通函数的区别,首先来看看两者的基本格式 普通函数和箭头共同点就是圆

箭头函数与普通函数的区别

要讨论箭头函数和普通函数的区别,首先来看看两者的基本格式

普通函数和箭头共同点就是圆括号和大括号,圆括号里面一般放置参数,大括号一般放置函数主体,很明显箭头函数不需要写那么长,举个例子,有一个数组,使用map方法为数组的每个元素增加字符

let arr=['昨天','今天','明天']
let newarr=arr.map(function(item){
  return item+='放假'
})
console.log(newarr);

用普通函数阅读起来的话不太友好,使用箭头函数看起来并没有感觉阅读起来很流畅,实际上只有一个参数的时候我们不需要为参数添加上括号,而且只有一个表达式的时候可以步添加大括号,他们的结果是一样的

let newarr1=arr.map((item)=>{return item += '放假'})
let newarr2=arr.map(item =>  item += '放假')

箭头函数的理解

我们并不能为箭头函数命名,箭头函数是函数表达式,而且是匿名的。既然是匿名的我们经常用new来构造函数的实例在箭头函数上是不行的,箭头函数不是构造函数,创建的时候并不会为箭头函数创建Construct方法

在函数的内部有个特殊对象arguments,一个类似数组的对象,但是箭头函数没有自己的arguments对象,匿名函数一般不用参数或者限定参数

箭头函数里的this指向

this的指向一直让很多人头疼,箭头函数被设计出来主要的原因是解决this的问题

为了查看this的指向,分别创建普通函数和箭头函数的表达式,并且为两个按钮注册点击事件,鼠标点击按钮就会执行函数表达式

<button class="pt">普通函数</button>
<p class="ptP"></p>
<button class="jt">箭头函数</button>
<p class="jtP"></p>
<script>
const pt=document.querySelector('.pt')
const ptP=document.querySelector('.ptP')
const jt=document.querySelector('.jt')
const jtP=document.querySelector('.jtP')
let ptFunction=function(){
  ptP.innerhtml='普通函数:'+this
}
let jtFunction=()=>{
  jtP.innerHTML='箭头函数:'+this
}
pt.addEventListener('click',ptFunction,false)
jt.addEventListener('click',jtFunction,false)
</script>

点击第一个按钮的时候,这个this是绑定按钮的,在普通函数里this的值是动态的,定义this的时候这个值不会被马上确认,而是会在执行的时候才确认,所以this值指向按钮对象

点击第二个按钮的时候显示window,也就是说this的值没有动态生成,而是在定义的时候就确认了,第二个按钮绑定的函数是属于window的,this自然指向window,在箭头函数可以避免查找代码时因找this指向的烦恼

为了this的硬绑定我们经常会用到call,apply,bind三种方法,下面例子一个对象里面有两个属性,一个字符串,一个数组和一个方法,方法主要对数组进行map方法的遍历,为每一个元素添加对象的字符串

const arr=document.querySelector('.arr')//p标签
let calendar={
  name:'2022-10-',
  lately:['10-25','10-26','10-27'],
  add:function(){
    this.lately.map(function(item){
      arr.innerHTML+=this.name+item+'<br>'
    })
  }
} 
calendar.add()

第一个指向是正确的,因为这个this是直接在add函数里执行的,但是第二个this指向不是我们想要的,于是使用call,apply或者bind方法就可以解决了

add:function(){
    this.lately.map(function(item){
        arr.innerHTML+=this.name+item+'<br>'
    }.bind(this))
}
calendar.add()

但是用箭头函数就不用那么麻烦,仅仅把map方法里的function改为箭头函数就简单解决了问题,还有箭头函数不能通过call,apply,bind来改变this的值

add:function(){
    this.lately.map(item => arr.innerHTML+=this.name+item+'<br>')
}

总结

以上就是javascript箭头函数与普通函数的区别示例详解的详细内容,更多关于JavaScript箭头函数普通函数的资料请关注编程网其它相关文章!

--结束END--

本文标题: JavaScript箭头函数与普通函数的区别示例详解

本文链接: https://lsjlt.com/news/170243.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript箭头函数与普通函数的区别示例详解
    目录箭头函数与普通函数的区别箭头函数的理解箭头函数里的this指向总结箭头函数与普通函数的区别 要讨论箭头函数和普通函数的区别,首先来看看两者的基本格式 普通函数和箭头共同点就是圆...
    99+
    2022-11-13
    JavaScript箭头函数普通函数 JavaScript 箭头普通函数区别
  • JavaScript中箭头函数与普通函数的区别详解
    本文为大家讲解了JavaScript中箭头函数与普通函数的区别,供大家参考,具体内容如下 箭头函数: let fun = () => { console.log('...
    99+
    2024-04-02
  • JavaScript 箭头函数的特点、与普通函数的区别
    目录1. 箭头函数的使用1. 普通函数到箭头函数2. 省略大括号和 return3. 省略小括号2. 箭头函数与普通函数的区别1. 箭头函数的 this 是父级作用域的 this2....
    99+
    2024-04-02
  • es6箭头函数和普通函数的区别有哪些
    这篇文章主要介绍“es6箭头函数和普通函数的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6箭头函数和普通函数的区别有哪些”文章能帮助大家解决问题。ES6 箭头函数的主要区别如下:&n...
    99+
    2023-06-17
  • es6中箭头函数和普通函数的区别有哪些
    这篇文章主要介绍es6中箭头函数和普通函数的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 区别:1、箭头函数的定义要比普通函数定义简洁、清晰得...
    99+
    2024-04-02
  • JavaScript如何把普通函数改成箭头函数
    小编给大家分享一下JavaScript如何把普通函数改成箭头函数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!把普通函数改成箭头函数const func = function() {...
    99+
    2023-06-27
  • JS函数(普通函数,箭头函数)中this的指向问题详解
    目录普通函数箭头函数普通函数 具名普通函数、匿名普通函数,在不作为对象的属性值的情况下,其内部的 this 总是指向代码运行环境下的全局对象 ( 例如,浏览器中的 window )。...
    99+
    2024-04-02
  • JavaScript函数扩展与箭头函数超详细讲解
    目录函数参数扩展rest参数箭头函数箭头函数的使用规范箭头函数的嵌套箭头函数案例函数参数扩展 ES6 允许给函数参数赋初始值: 形参初始值 具有默认值的参数,一般位置要靠后(潜规则)...
    99+
    2022-11-13
    JavaScript函数扩展 JavaScript箭头函数
  • Javascript箭头函数中this的示例分析
    小编给大家分享一下Javascript箭头函数中this的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先我们先看一段...
    99+
    2024-04-02
  • 详解JavaScript中的箭头函数的使用
    目录前言箭头函数语法无圆括号语法隐式返回注意隐式返回错误无法命名箭头函数如何处理this关键字匿名箭头函数不正常工作的情况箭头函数作为对象方法箭头函数与第三方库箭头函数没有argum...
    99+
    2022-11-13
    JavaScript箭头函数使用 JavaScript 箭头函数 JS 箭头函数
  • es5函数和es6箭头函数有哪些区别
    本篇内容介绍了“es5函数和es6箭头函数有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、写法不同,ES6箭头函数为“()...
    99+
    2023-07-04
  • c++ 内联函数和普通函数的区别
    前言 内联函数是c++为了提高程序的运行速度做的改进,它与普通函数区别在于: 编译器如何将它们组合到程序中。所以我们需要深入到程序内部。 我们的最终的可执行程序由 一组机器指令组成...
    99+
    2024-04-02
  • PHP 函数与 JavaScript 函数的区别?
    php和javascript函数的区别:上下文:php在服务器端执行,javascript在客户端浏览器中执行。语法:php函数使用function关键字声明,javascript函数使...
    99+
    2024-04-25
    php 作用域
  • PHP8的箭头函数-PHP8知识详解
    php 7.4 引入了箭头函数(Arrow Functions),并在 PHP 8 中得到了进一步改进和扩展。 箭头函数是一种更简洁的匿名函数形式,它们提供了一种更便捷的方式来定义轻量级的、单行的回调函数。 箭头函数的语法如下: fn (参...
    99+
    2023-09-09
    php PHP开发 PHP教程
  • JS 箭头函数的this指向详解
    箭头函数是ES6中的新增特性,他没有自己的this,其this指向从外层代码库继承。 使用箭头函数时要注意一下几点: 箭头函数不能用作构造函数,用的话会抛出一个错误 ...
    99+
    2024-04-02
  • JavaScript中的箭头函数是什么
    这篇文章主要讲解了“JavaScript中的箭头函数是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中的箭头函数是什么”吧!一、箭头...
    99+
    2024-04-02
  • 最新版JavaScript中的箭头函数
    目录前言箭头函数语法无圆括号语法隐式返回注意隐式返回错误无法命名箭头函数如何处理this关键字匿名箭头函数不正常工作的情况箭头函数作为对象方法箭头函数与第三方库箭头函数没有argum...
    99+
    2022-11-13
    js箭头函数 JavaScript中的箭头函数
  • golang的匿名函数和普通函数的区别是什么
    今天小编给大家分享一下golang的匿名函数和普通函数的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。golang...
    99+
    2023-07-05
  • JavaScript箭头函数与剩余参数怎么使用
    本篇内容主要讲解“JavaScript箭头函数与剩余参数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript...
    99+
    2024-04-02
  • 详解Python中的普通函数和高阶函数
    目录什么是函数函数的嵌套调用高阶函数我们思考一下计算圆形和方形的面积为何高阶函数能够降低维度总结什么是函数 每个语言都有函数,甚至大家用的Excel里面也有函数,我们以前学习的数学也...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作