粗談JavaScript中的箭頭函數

 

print1和print2都是obj對象中的方法,區別在於print1爲箭頭函數,而print2爲普通函數。函數

 

引入《深刻理解ES6》中的一段有關箭頭函數的話:this

箭頭函數沒有 this/super/arguments/new.target 的綁定,這些值是由外圍最近一層非箭頭函數決定。對象

 

普通函數的this是動態的,因此其指向是在運行時肯定,在運行時找到擁有當前上下文的對象。blog

箭頭函數的this是靜態的,這個箭頭函數在哪一個做用域聲明,那麼這個this就會綁定到這個函數的上下文中,也就是所謂的「穿透「箭頭函數。作用域

相關文章
相關標籤/搜索