這篇文章主要介紹了Angular.JS中this指向的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕十多年,專(zhuān)業(yè)且經(jīng)驗(yàn)豐富。十多年網(wǎng)站優(yōu)化營(yíng)銷(xiāo)經(jīng)驗(yàn),我們已為超過(guò)千家中小企業(yè)提供了網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站解決方案,按需設(shè)計(jì)網(wǎng)站,設(shè)計(jì)滿(mǎn)意,售后服務(wù)無(wú)憂(yōu)。所有客戶(hù)皆提供一年免費(fèi)網(wǎng)站維護(hù)!
【this詳解】
1、誰(shuí)最終調(diào)用函數(shù),this指向誰(shuí)。
① this指向的,永遠(yuǎn)只可能是對(duì)象!?。。。?!
② this指向誰(shuí),永遠(yuǎn)不取決于this寫(xiě)在哪??!而是取決于函數(shù)在哪調(diào)用。
③ this指向的對(duì)象,我們稱(chēng)之為函數(shù)的上下文context,也叫函數(shù)的調(diào)用者
2、※※※※※this指向的規(guī)律(與函數(shù)調(diào)用的方式息息相關(guān)):
this指向的情況,取決于函數(shù)調(diào)用的方式有哪些:
① 通過(guò)函數(shù)名()直接調(diào)用:this指向window
② 通過(guò)對(duì)象.函數(shù)名()調(diào)用的:this指向這個(gè)對(duì)象
③ 函數(shù)作為數(shù)組的一個(gè)元素,通過(guò)數(shù)組下標(biāo)調(diào)用的:this指向這個(gè)數(shù)組
④ 函數(shù)作為window內(nèi)置函數(shù)的回調(diào)函數(shù)調(diào)用:this指向window setInterval setTimeout 等...
⑤ 函數(shù)作為構(gòu)造函數(shù),用new關(guān)鍵字調(diào)用時(shí):this指向新new出的對(duì)象
function func(){ console.log(this); }
① 通過(guò)函數(shù)名()直接調(diào)用:this指向window
func(); this--->window
② 通過(guò)對(duì)象.函數(shù)名()調(diào)用的:this指向這個(gè)對(duì)象
狹義對(duì)象
var obj = { name:"obj", func1 :func }; obj.func1(); this--->obj
廣義對(duì)象
document.getElementById("div").onclick = function(){ this.style.backgroundColor = "red"; }; this--->div
③ 函數(shù)作為數(shù)組的一個(gè)元素,通過(guò)數(shù)組下標(biāo)調(diào)用的:this指向這個(gè)數(shù)組
var arr = [func,1,2,3]; arr[0](); this--->arr
④ 函數(shù)作為window內(nèi)置函數(shù)的回調(diào)函數(shù)調(diào)用:this指向window
setTimeout(func,1000);// this--->window setInterval(func,1000);
⑤ 函數(shù)作為構(gòu)造函數(shù),用new關(guān)鍵字調(diào)用時(shí):this指向新new出的對(duì)象
var obj = new func(); //this--->new出的新obj
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Angular.JS中this指向的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!