箭頭函式this的指向

2022-07-06 18:21:17 字數 803 閱讀 4039

什麼是箭頭函式,箭頭函式是es6的新特性,其出現就是為了更好的表示(代替)**函式

// 箭頭函式

(arg1, arg2) => {}

// 當箭頭函式只有乙個引數

arg1 => console.log(arg1)

// 箭頭函式隱式return

arg1 => arg1 // 等價於 arg1 => return arg1

箭頭函式的this不同於以上所有情況(不是在**執行時確定),而是在箭頭函式定義時確定的(類似於作用域),箭頭函式的this就是其定義時的父級物件的this,如果父級物件也是個箭頭函式,則繼續向上找

var obj = ,

arrowfunc: () =>

}name = '普通的this是根據執行時確定的'

window.test = obj.test // 將obj的test暴露給全域性物件window

obj.test() // fitz

test() // 普通的this是根據執行時確定的 等價於 window.test()

// 箭頭函式的this是在箭頭函式定義的時候確定的,就是箭頭函式祖先物件的this

obj.arrowfunc() // window 箭頭函式的祖先物件是obj, obj的this是window

console.log(obj.logobjthis) // window 此語句等價於 window.obj.logobjthis

箭頭函式this的指向

什麼是箭頭函式,箭頭函式是es6的新特性,其出現就是為了更好的表示 代替 函式 箭頭函式 arg1,arg2 當箭頭函式只有乙個引數 arg1 console.log arg1 箭頭函式隱式return arg1 arg1 等價於 arg1 return arg1箭頭函式的this不同於以上所有情況...

函式 箭頭函式的this指向

在箭頭函式中,this與封閉詞法環境的this保持一致。在全域性 中,它將被設定為全域性物件 var globalobject this var foo this console log foo globalobject true 接著上面的 作為物件的乙個方法呼叫 var obj console ...

this指向箭頭函式詳解

本文參考 this 指的是你的函式執行時所在的環境 作用域 全域性環境下 console.log this.document document true 在全域性環境下this始終指向全域性物件,無論是否嚴格模式 在瀏覽器中,this指向window物件 console.log this windo...