ES6 箭头函数

  • 普通函数 function(){}
  • 箭头函数()=>{}
  • 共同点(){},()里面一般用来放置参数,{}一般用来放置函数体

箭头函数与普通函数的区别在于:

1.箭头函数没有 this,需要通过查找作用域链来确定 this 的值,如果箭头函数被非箭头函数包含,this 绑定的就是最近一层非箭头函数的 this,

2.箭头函数没有自己的 arguments 对象,但是可以访问外围函数的 arguments 对象

3.箭头函数不能通过 new 关键字调用,不会自动生成prototype属性

4.箭头函数是函数表达式,而且是匿名的。普通函数可以是函数表达式,也可以是函数声明.

1.箭头函数写法

1.只有一个参数的时候不需要为参数加(),只有一个表达式时候也不需要加{},

 箭头函数会自动返回处理结果

箭头函数比较简单明了

 

 2.箭头函数不能用new关键字调用箭头函数,所以也不需要构造函数原型了。也就是不会自动生成prototype属性

箭头函数创建的时候,程序不会为箭头函数创建construct方法==>无构造能力

3. 箭头函数没有自己的 arguments 对象,但是可以访问外围函数的 arguments 对象

 函数内部有一个特殊对象arguments,类似于数组的对象,在给函数传入参数的时候就可以像数组一样调用数组的元素或者属性

箭头函数没有自己的arguments对象,匿名函数一般不用参数或者限定参数来执行,普通函数需要复用

 

 

访问外围函数的 arguments 对象 

 创建一个普通函数,里面返回的是一个箭头函数,箭头函数再返回arguments的长度

 定义一个变量,保存函数输入的参数,当执行 arrow表达式就相当于执行normal(1,2,3)()。

普通函数返回了一个箭头函数,用一个括号来执行箭头函数,因为作用域链的关系箭头函数保存了arguments的长度,最后返回了结果,=其实就是闭包

 

 4.箭头函数没有 this,所以需要通过查找作用域链来确定 this 的值,这就意味着如果箭 头函数被非箭头函数包含,this 绑定的就是最近一层非箭头函数的 this

//  创建普通函数和箭头函数表达式,为两个按钮注册鼠标点击事件

 // 在普通函数里,this的值是动态的,定义this的时候,这个值不会马上确认,会在实际执行的时候进行确认,按钮进行绑定,this指向按钮对象

  // 箭头函数this的值没有动态生成arrowFunction创建的时候就定义了this,定义时候arrowFunction指向windown,this就指向widown


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值