400-650-7353
您所在的位置:首頁 > IT干貨資料 > web前端 > 【W(wǎng)eb前端基礎(chǔ)知識(shí)】Js中this的指向指的什么

【W(wǎng)eb前端基礎(chǔ)知識(shí)】Js中this的指向指的什么

  • 發(fā)布: Web前端培訓(xùn)
  • 來源:Web前端干貨資料
  • 2020-03-18 18:33:29
  • 閱讀()
  • 分享
  • 手機(jī)端入口

4. 事件綁定中的this

事件處理函數(shù)中的this,無論是綁定的是命名函數(shù)還是匿名函數(shù),都可以認(rèn)為是元素引用的一個(gè)方法,雖然這種函數(shù)的調(diào)用具有其隱蔽性,但是我們還是應(yīng)該視為其執(zhí)行環(huán)境是元素引用,所以this指向觸發(fā)事件(調(diào)用方法)的元素。而addEventListener 方法中的事件函數(shù)默認(rèn)是作為調(diào)用addEventListener對(duì)象的方法,所以同樣觸發(fā)事件的元素。

  1. oBox.onclick = function(){ 
  2. console.log(this); 
  3. // oBox.onclick(); 
  4. oBox.addEventListener("click",function(){ 
  5. console.log(this) 
  6. }); 

5. 閉包中的函數(shù)

在上述案例中,我們雖然是通過調(diào)用obj對(duì)象的foo方法獲取了匿名函數(shù),但是由于匿名函數(shù)的執(zhí)行具有的全局性,而這時(shí)并沒有出現(xiàn)實(shí)際的其他調(diào)用者,所以函數(shù)內(nèi)的this指向全局對(duì)象window。當(dāng)然這只是一個(gè)常見的案例,this的指向具體情況還是要結(jié)合實(shí)際調(diào)用者具體分析。

  1. var obj = { 
  2. foo:function(){ 
  3. return function(){ 
  4. console.log(this); 
  5. obj.foo()(); 

6. new 操作符調(diào)用函數(shù)

new 操作符調(diào)用函數(shù)內(nèi)的this是一個(gè)恒定值,指向的是函數(shù)執(zhí)行前創(chuàng)建的對(duì)象。

  1. function CreateStu(){ 
  2. console.log(this); 
  3. new CreateStu(); 

7. 其他的this

call和apply方法(作用相同,參數(shù)不同)都可以強(qiáng)制改變this的指向,可以將函數(shù)執(zhí)行時(shí)的this指向方法的第一個(gè)參數(shù)。

  1. var obj1 = { 
  2. foo:function(){ 
  3. console.log(this); 
  4. var obj2 = {} 
  5. obj1.foo.call(obj2); 

 

文章“【W(wǎng)eb前端基礎(chǔ)知識(shí)】Js中this的指向指的什么”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48500.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME