国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

關于ES6箭頭函數中的this問題

來源:懂視網 責編:小采 時間:2020-11-27 22:18:40
文檔

關于ES6箭頭函數中的this問題

關于ES6箭頭函數中的this問題:簡要介紹:箭頭函數中的this,指向與一般function定義的函數不同,箭頭函數this的定義:箭頭函數中的this是在定義函數的時候綁定,而不是在執行函數的時候綁定。 (1)一般函數this指向在執行是綁定 當運行obj.say()時候,this指向的是obj這個對象。
推薦度:
導讀關于ES6箭頭函數中的this問題:簡要介紹:箭頭函數中的this,指向與一般function定義的函數不同,箭頭函數this的定義:箭頭函數中的this是在定義函數的時候綁定,而不是在執行函數的時候綁定。 (1)一般函數this指向在執行是綁定 當運行obj.say()時候,this指向的是obj這個對象。

簡要介紹:箭頭函數中的this,指向與一般function定義的函數不同,箭頭函數this的定義:箭頭函數中的this是在定義函數的時候綁定,而不是在執行函數的時候綁定。

(1)一般函數this指向在執行是綁定  當運行obj.say()時候,this指向的是obj這個對象。

var x=11;
var obj={
 x:22,
 say:function(){
 console.log(this.x)
 }
}
obj.say();
//console.log
輸出的是22

(2)所謂的定義時候綁定,就是this是繼承自父執行上下文!!中的this,比如這里的箭頭函數中的this.x,箭頭函數本身與say平級以key:value的形式,也就是箭頭函數本身所在的對象為obj,而obj的父執行上下文就是window,因此這里的this.x實際上表示的是window.x,因此輸出的是11。

var x=11;
var obj={
 x:22,
 say:()=>{
 console.log(this.x);
 }
}
obj.say();
//
輸出的值為11

類似的還有:

(3)

var a=11
function test1(){
 this.a=22;
 let b=function(){
 console.log(this.a);
 };
 b();
}
var x=new test1();

輸出11 

箭頭函數情況:

var a=11;
function test2(){
 this.a=22;
 let b=()=>{console.log(this.a)}
 b();
}
var x=new test2();
//
輸出22

很奇怪對不對,我是這樣理解的,ES6中定義的時候綁定this的具體含義,應該繼承的是父執行上下文里面的this,切忌是父執行上下文!!!這樣就很多箭頭函數中的指向不明確就迎刃而解了。

注意:簡單對象(非函數)是沒有執行上下文的!

深入理解箭頭函數中的this

箭頭函數中,this指向的固定化,并不是因為箭頭函數內部有綁定this的機制,實際原因是箭頭函數根本沒有自己的this,導致內部的this就是外層代碼塊的this。正是因為它沒有this,所以也就不能用作構造函數。

我們可以來模擬ES5中的箭頭函數轉化:

// ES6
function foo() {
 setTimeout(() => {
 console.log('id:', this.id);
 }, 100);
}
// ES5
function foo() {
 var _this = this;

 setTimeout(function () {
 console.log('id:', _this.id);
 }, 100);
}

所以在定義對象的時候,定義對象屬性,里面的this指向的一般是全局,或者這個對象所在的那個環境中的this。

總結

以上所述是小編給大家介紹的ES6箭頭函數中的this,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

關于ES6箭頭函數中的this問題

關于ES6箭頭函數中的this問題:簡要介紹:箭頭函數中的this,指向與一般function定義的函數不同,箭頭函數this的定義:箭頭函數中的this是在定義函數的時候綁定,而不是在執行函數的時候綁定。 (1)一般函數this指向在執行是綁定 當運行obj.say()時候,this指向的是obj這個對象。
推薦度:
標簽: 問題 箭頭函數 ES6
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产免费资源高清小视频在线观看 | 另类一区二区 | 黄色毛片在线观看 | 国产国语高清在线视频二区 | 国产一区二区三区亚洲欧美 | 国产欧美日 | 欧美国产日韩在线观看 | 国内精品免费视频 | 国产精品福利一区二区久久 | 日韩国产欧美视频 | 俄罗斯女人禽交zozo | 亚洲欧美日韩视频一区 | 欧美在线观看日韩欧美在线观看 | 综合亚洲一区二区三区 | 欧美日韩专区 | 一本久久精品一区二区 | 国产一级特黄高清免费下载 | 五月天婷婷在线观看 | 亚洲素人在线 | 久久亚洲伊人中字综合精品 | 免费精品国产日韩热久久 | 久久这里只有精品9 | 国产成人久久综合二区 | 日本乱人伦a综艺网站 | 中文字幕国产欧美 | 一级一级特黄女人精品毛片视频 | 欧美视频一区二区三区 | 九九热精品在线观看 | 久久久久久久亚洲精品 | a毛片成人免费全部播放 | 欧美日韩 国产区 在线观看 | 国产亚洲午夜精品a一区二区 | 亚洲另类欧美日韩 | www.欧美色图| 亚洲国产精品一区二区久 | 欧美区在线观看 | 欧美精品色精品一区二区三区 | 亚洲精品在线免费观看 | 亚洲精品毛片久久久久久久 | 国产精品亚洲一区二区三区 | 亚洲国产精品成人综合久久久 |