摘要:有人說,是中最令人厭煩的風格的編程,雖然令人厭煩,但還是要理解且使用它,就像生活一樣,總要做一些自己不喜歡或不擅長的事。
有人說,this是javascript OPP中最令人厭煩的風格的編程,
雖然令人厭煩,但還是要理解且使用它,就像生活一樣,總要做一些自己不喜歡或不擅長的事。
在箭頭函數出現之前,每個新定義的函數都有它自己的this值:
1、在構造函數的情況下,是一個新的對象(實例);
2、如果該函數被稱為‘對象方法’,則為該基礎對象;
3、如果作為函數調用,則指向全局;
function Person() { // Person() 構造函數定義 `this`作為它自己的實例. this.age = 0; setInterval(function growUp() { // 在非嚴格模式, growUp()函數定義 `this`作為全局對象, // 與在 Person()構造函數中定義的 `this`并不相同. this.age++; }, 1000); } var p = new Person();
而箭頭函數不會創建自己的this,它使用封閉執行上下文的this值,因此,在下面的代碼中,傳遞給setInterval的函數內的this與封閉函數中的this值相同:
function Person(){ this.age = 0; setInterval(() => { this.age++; // |this| 正確地指向person 對象 }, 1000); } var p = new Person();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93070.html
摘要:對象的指向是可變的,但是在箭頭函數中,它是固定的。同樣的由于箭頭函數沒有自己的所以傳統的顯性綁定無效內部的指向外部在的學習中,的指向問題一直是個難點,特別是在對象方法中使用時,必須更加小心。由此箭頭函數在很大程度上減少了我們的困擾。 什么是箭頭函數 用法 ES6 允許使用箭頭(=>)定義函數 測試 var p1 = document.getElementById(test1)...
摘要:因為它不產生屬于它自己上下文的箭頭函數的另一個用處是簡化回調函數。箭頭函數使用場景箭頭函數適合于無復雜邏輯或者無副作用的純函數場景下,例如用在的回調函數定義中,另外目前等庫,都大量使用箭頭函數,直接定義的情況已經很少了。 0.為什么會出現箭頭函數? 1.傳統的javascript函數語法并沒有提供任何的靈活性,每一次你需要定義一個函數時,你都必須輸入function () {},這至少...
摘要:在這里,如果用箭頭函數,可以這樣改寫箭頭函數并沒有自己的,所以事件處理函數的調用者并不受影響。比如,在需要動態上下文的場景中,使用箭頭函數需要格外地小心,這些場景包括對象的方法原型方法事件的回調構造函數。 showImg(https://segmentfault.com/img/bVboce6?w=1304&h=734); 前言 年味兒漸散,收拾下心情,繼續敲代碼吧。 對于即將到來金三...
摘要:箭頭函數中指向等箭頭函數箭頭函數的,總是指向定義時所在的對象,而不是運行時所在的對象。關鍵字通常不能在箭頭函數中使用除非是嵌套在允許使用的函數內。參考資料的博客可以說很厲害了圖解指向什么阮一峰關于箭頭函數的討論 箭頭函數中this指向等 箭頭函數 javascript this 箭頭函數的this,總是指向定義時所在的對象,而不是運行時所在的對象。 箭頭函數位于foo函數內部。只有...
摘要:也就是說箭頭函數的的值不再根據調用時上下文確定,而是像普通變量那樣根據定義時的作用域鏈進行查找。箭頭函數中的依然要根據定義時的作用域鏈進行查找。知乎這篇文章對箭頭函數的一些不適合的場景進行了總結,可以作為參考。 es6 - 箭頭函數 哇,箭頭函數...,聽起來好NB,但是如果你知道它是因為使用了=>這樣類似箭頭的符號 ,所以才叫箭頭函數。 瞬間感覺:呵,這名字起的...。 es6增加了...
摘要:沒有箭頭函數沒有自己的對象,這不一定是件壞事,因為箭頭函數可以訪問外圍函數的對象那如果我們就是要訪問箭頭函數的參數呢你可以通過命名參數或者參數的形式訪問參數不能通過關鍵字調用函數有兩個內部方法和。 1、基本語法回顧 我們先來回顧下箭頭函數的基本語法。ES6 增加了箭頭函數: var f = v => v; // 等同于 var f = function (v) { return ...
閱讀 2432·2021-11-22 13:53
閱讀 1126·2021-09-22 16:06
閱讀 1370·2021-09-02 15:21
閱讀 1895·2019-08-30 15:55
閱讀 3116·2019-08-29 11:19
閱讀 1911·2019-08-26 13:23
閱讀 931·2019-08-23 18:23
閱讀 1748·2019-08-23 16:06