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

发布时间 2023-06-12 17:02:20作者: 有只小菜猫

一、普通函数

存在声明提升

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