document.onclick = function(){ // 普通函數的this是在運行的時候才臨時綁定的,也就是說,函數不運行,你絕對不可能知道this是誰 // 下面這個函數若是是自調用,this就是window,好比狀況1 // 若是是被別的對象調用的,this就是調用他的那個對象 好比狀況2 function fn1(){ console.log(this) } // 狀況1: fn1(); // 狀況2: button.onclick = fn1(); // 箭頭函數的this在建立的時候就肯定好了, // 箭頭函數的this取決於位於誰的做用域內聲明的, // 下面這個this在外面function中聲名,綁定了外面function的this,這個this綁定了document let fn2 = () =>{ console.log(this) } }