箭頭函式中的this指向

2022-02-17 14:42:46 字數 1360 閱讀 7478

// 箭頭函式中的this指向

//     如果是箭頭函式,this指向是,父級程式的,this的指向

//       如果父級程式是乙個函式,函式也是有this的,那麼箭頭函式的this,就是父級函式的this

//       如果父級程式不是函式,例如物件,陣列等,沒有this指向,箭頭函式的this指向是window頂級物件

// function宣告的,物件中的函式

// this執行應該是,obj物件本身

// const obj = 

// }

// 物件中的函式,但是是使用 箭頭函式宣告的

// 這個物件中的箭頭函式,this指向是 window

const obj = 

f();}}

// obj.fun();

// obj,中,定義了子級箭頭函式fun2

// 箭頭函式fun2,this指向應該是父級程式的this指向

// 箭頭函式fun2,父級程式是,obj

// obj是個物件,沒有this指向的

// fun2的this指向,是window

// const obj2 = 

// }

// 陣列中子級箭頭函式,this指向是父級程式陣列的this指向

// 陣列是沒有this指向的,指向的是window

// const arr = [()=>];

// arr[0]();

// 如果匿名函式都寫成箭頭函式語法,this指向是什麼

// function fun(){}   宣告式定義函式,不是匿名函式,不能寫成箭頭函式形式

// 匿名函式本身this指向已經是 window,寫成箭頭函式,this指向仍然你是window

// var fun = ()=> 

// 定時器,延時器,函式寫成箭頭函式,this指向仍然是 window

// setinterval( ()=> ,1000 );

// settimeout( ()=> ,1000 );

// 事件繫結,匿名函式,this指向,也是window

// document.addeventlistener( 'click' , ()=> );

// 總結:

//    箭頭函式的this指向,是 父級程式的 this指向

//    如果父級沒有this指向,結果是 window

//    如果之前this指向就是window,箭頭函式父級沒有程式,this指向是window

//    如果原本this指向是window的箭頭函式,如果被父級程式巢狀,也會改變this指向的

const obj1 = )}}

obj1.fun();

箭頭函式中this的指向

箭頭函式中this的指向 在箭頭函式中沒有this,箭頭函式中的this是它捕獲過來的,注意 1.箭頭函式中的this一旦捕獲將無法在改變 2.箭頭函式是在它被宣告時開始捕獲的 3.什麼是宣告時呢?就是箭頭函式被呼叫時 4.捕獲的是離它最近的父級的this的指向 舉個栗子 var a 測試 let ...

箭頭函式中的this指向

let a a.bar undefinedbar函式中的this指向父作用域,而a物件沒有作用域,因此this不是a,列印結果為undefined function a a.prototype.bar console.log this.foo let a new a a.bar undefined原...

箭頭函式中的this指向

箭頭函式是es6新出的一種函式格式的寫法 文件對箭頭函式的解釋 箭頭函式相當於匿名函式,並且簡化了函式定義。箭頭函式有兩種格式,一種只包含乙個表示式,連和return都省略掉了。還有一種可以包含多條語句,這時候就不能省略和return 比如我們常見的foreach方法 var arr 1 2,3 4...