首页 > 其他分享 >箭头函数和普通函数的区别

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

时间:2023-06-12 17:11:23浏览次数:27  
标签:return 函数 形参 区别 箭头 参数 var

一、普通函数

存在声明提升

1、定义:

关键字(function) 函数名 (参数){ //参数是形参(形式参数) 函数体 return xxx }

2、调用:

函数名(参数) //参数是实参(实际参数)

 

3、形参|实参

实参:在调用函数的时候真正传进去要进行运算的值(真实的数据)

形参:占位的参数,在封装的函数里面会用到 这个形式参数来代表之后函数真正传进来的值进行运算。

二、匿名函数

不存在函数声明提升,存在变量提升

1、定义:

var 变量名 = 关键字 () { 函数体 return xxx }

2、调用:

变量名()

三、箭头函数【()=>{}】

箭头函数是匿名函数,不能作为构造函数,不能使用new,带有语法糖

1、定义

var 变量 = (参数) => { //形参 函数体 }

2、调用

变量名(参数) //实参

3、语法糖:

原有:var show=(x)=>{return 2*x}

(1)形参只有一个:省略小括号

var show=x={return 2*x}

(2)方法体只有一行:省略{return}

var show=x=>2*x

4、箭头函数的this:

三、箭头函数和普通函数的区别

1、箭头函数更加简洁。

2、箭头函数没有自己的this,只会在自己作用域的上一层继承this

3、箭头函数继承来的this 指向永远不会变,使用call() | apply() | bind() 等方法不能改变

4、箭头函数不能作为构造函数使用,没有自己的arguments | prototype

 

标签:return,函数,形参,区别,箭头,参数,var
From: https://www.cnblogs.com/le-fang/p/17475527.html

相关文章

  • mysql函数创建
    文章目录前言一、mysql函数是什么?二、创建函数1.基本语法2.仿照这个写一个自己的函数总结前言mysql函数与存储过程的区别:参数:存储过程对待参数有三种方式:输入(IN),输出(OUT)和输入并输出(INOUT),因为有三种方式所以必须对参数指明其用途;对于存储函数只有一种方式:输入参数,因此不需要写IN......
  • DDOS和CC打击的区别,哪种打击对服务器伤害更大
    近几年,网络恶意打击逐渐增多,很多网站饱受困扰,而其中最为常见的恶意打击就是CC以及DDoS打击,对于一些防御能力较弱的网站来说,一旦遭遇这些打击,轻则网站瘫痪,重则直接影响流量导致无法生存,那么DDoS打击和CC打击区别在哪里?哪一个对服务器伤害比较大?下面来简单分析一下DDoS打击DDoS打击(分......
  • 进程在用户态和内核态的区别[独家解析]
     先看基础常识:基础内核在创建进程的时候,会为进程创建相应的堆栈。   每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。 当进程在用户空间运行时,CPU寄存器里面的内容是用户堆栈地址,使用用户栈  当进程在内核空间时,CPU寄存器里面的内容是内核栈......
  • cookie 和session的区别
    1、对象不同cookie:是针对每个网站的信息,每个网站只能对应一个,其他网站无法访问,这个文件保存在客户端,每次您拨打相应网站,浏览器都会查找该网站的cookies,如果有,则会将该文件发送出去。cookies文件的内容大致上包括了诸如用户名、密码、设置等信息。session:是针对每个用户的,只有客......
  • 012 数据库学习笔记--自定义函数
    自定义函数:根据自己的需要,自定义一些函数分类:标量函数、内嵌表值函数、多声明表值函数标量函数:对单一值的操作,返回单一值;包含beginend创建的时候,指定了函数所有体,调用时也必须指定函数所有者调用时,如果函数中指定了默认值,调用的时候,可使用默认值default代替在语法上r......
  • 引用作为函数返回值
    “引用作为函数参数”与“引用作为函数返回值”一、引用作为函数参数作为函数参数时引用有两种原因:1、在函数内部会对此参数进行修改2、提高函数调用和运行效率关于第一点,都知道C++里提到函数就会提到形参和实参。如果函数的参数实质就是形参,不过这个形参的作用域只是在函数体内......
  • [转]Maven dependencyManagement与dependencies区别
    一、dependencyManagement应用场景为了项目的正确运行,必须让所有的子模块使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。在我们项目顶层的pom文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子......
  • null和undefined的区别
    在JavaScript中,null 和 undefined 都表示空值,但它们有着不同的含义和用途。undefined 表示不存在、未定义或者缺失。它是一个原始数据类型,在以下情况下会出现:变量被声明但没有赋值访问对象属性不存在或未定义函数参数未传递而 null 表示一个对象为空或者不存在,它也......
  • @Validated注解和@Valid注解区别
    引入依赖注意:spirngboot升级到2.3.0.RELEASE之后,hibernate-validator不再作为spring-boot-starter-web的默认依赖项,需要通过下面的maven坐标单独引入:<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><versio......
  • 终于理解集线器、交换机、路由器之间的区别了
    集线器、交换机、路由器 什么是集线器Hub?1、把内网中的网络设备连接起来,支持多个以太网连接的端口,可以连接多种网络设备2、仅仅知道端口上是否连接了设备,经过集线器传输的数据包,所有设备都能接收到,如下图,当主机A发送数据包给主机C时,主机B和D都能接收到数据3、不仅带来......