es6新特性之箭头函数

1.箭头函数的this指向在定义它时所处的对象

// 例如

let es6fn = ()=>{
  console.log(this)
}

let fn = function(){
  console.log(this)
}

es6fn() // 这里this指向Window
fn()// 普通函数的this指向Window

// 即使我们使用对象调用他,也仍然是windw

let obj = {
  name:'',
  es6fn,
  fn
}
// obj.es6fn()// 箭头函数的this仍然是Window
// obj.fn()// {name: '', es6fn: ƒ, fn: ƒ}这里普通函数的this指向调用者obj对象

// 即使我们使用call()也改变不了他的this指向
es6fn.call(obj)// Window
fn.call(obj)//{name: '', es6fn: ƒ, fn: ƒ}

2、不能作为构造函数实例化对象

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

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

let persons = new Person('zhang',18)//普通函数可以实例化对象

let es6person = new Es6Person('zhang',20)//箭头函数实例化的话报错:Es6Person is not a constructor

3、箭头函数不能使用arguments变量

​
let Es6fn = ()=>{
  console.log(arguments)//arguments is not defined
}

let fn = function(){
  console.log(arguments)//arguments为传进来的参数组
}

fn(1,2,3)

Es6fn(1,2,3)

​

运行结果:

4、当形参有且只有一个时,可以省略小括号

let Es6Fn = n=>{
  console.log(n)
}
Es6Fn(6)

 5、当只有一条语句时,可以省略花括号

let Es6Fn = n=> console.log(n)

Es6Fn(6)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值