码迷,mamicode.com
首页 > 其他好文 > 详细

ES6 function函数和箭头函数区别

时间:2020-02-13 23:11:04      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:uncaught   person   cti   函数   变量提升   成功   变量   console   typeerror   

1.写法不一样

//function
function fn(a,b){
return a+b
}
//arrow function
var foo = (a,b)=>{
return a+b
}

  

2.this的指向,function中的this可变(window,内部),箭头函数固定不变指向window

function foo(){
console.log(this)
}
var obj = {aa:foo}
foo() //window
obj.aa()//obj

var foo = ()=>{
console.log(this)
}
var obj = {aa:foo}
foo()//window
obj.aa()//window

  

3.构造函数

function Person(name,age){
this.name =name
this.age = age
}
var lenhart = new Person(lenhart,25)
console.log(lenhart) //成功

var Person = (name,age)=>{
this.name = name
this.age=age
}
var lenhart = new Person(‘lenhart‘,25) //Uncaught TypeError: Person is not a constructor

  

4.变量提升

foo()
function foo(){
console.log(‘123456‘)
}
arrowFn()//Uncaught TypeError: arrowFn is not a constructor
var arrowFn=()=>{
console.log(‘123456‘)
}

  

ES6 function函数和箭头函数区别

标签:uncaught   person   cti   函数   变量提升   成功   变量   console   typeerror   

原文地址:https://www.cnblogs.com/fm060/p/12305473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!