Angular.JS中的this指向詳解
【this詳解】
1、誰最終調(diào)用函數(shù),this指向誰。
① this指向的,永遠(yuǎn)只可能是對象?。。。。。?br />
② this指向誰,永遠(yuǎn)不取決于this寫在哪!!而是取決于函數(shù)在哪調(diào)用。
③ this指向的對象,我們稱之為函數(shù)的上下文context,也叫函數(shù)的調(diào)用者
2、※※※※※this指向的規(guī)律(與函數(shù)調(diào)用的方式息息相關(guān)):
this指向的情況,取決于函數(shù)調(diào)用的方式有哪些:
① 通過函數(shù)名()直接調(diào)用:this指向window
② 通過對象.函數(shù)名()調(diào)用的:this指向這個對象
③ 函數(shù)作為數(shù)組的一個元素,通過數(shù)組下標(biāo)調(diào)用的:this指向這個數(shù)組
④ 函數(shù)作為window內(nèi)置函數(shù)的回調(diào)函數(shù)調(diào)用:this指向window setInterval setTimeout 等...
⑤ 函數(shù)作為構(gòu)造函數(shù),用new關(guān)鍵字調(diào)用時:this指向新new出的對象
function func(){ console.log(this); }
① 通過函數(shù)名()直接調(diào)用:this指向window
func(); this--->window
② 通過對象.函數(shù)名()調(diào)用的:this指向這個對象
狹義對象
var obj = { name:"obj", func1 :func }; obj.func1(); this--->obj
廣義對象
document.getElementById("div").onclick = function(){ this.style.backgroundColor = "red"; }; this--->div
③ 函數(shù)作為數(shù)組的一個元素,通過數(shù)組下標(biāo)調(diào)用的:this指向這個數(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)用時:this指向新new出的對象
var obj = new func(); //this--->new出的新obj
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Angularjs使用ng-repeat中$even和$odd屬性的注意事項(xiàng)
無可否認(rèn)angularjs的崛起成為前端很大的福利,最近接到項(xiàng)目,框架便選中了angularjs。angularjs最吸引人的地方就是數(shù)據(jù)的雙向綁定和指令了,這篇文章主要介紹了Angularjs中使用ng-repeat的$even和$odd屬性的注意事項(xiàng),需要的朋友可以參考下2016-12-12基于angular實(shí)現(xiàn)三級聯(lián)動的生日插件
這篇文章主要為大家詳細(xì)介紹了基于angular實(shí)現(xiàn)三級聯(lián)動的生日插件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05angular內(nèi)置provider之$compileProvider詳解
下面小編就為大家?guī)硪黄猘ngular內(nèi)置provider之$compileProvider詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09利用require.js與angular搭建spa應(yīng)用的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于利用require.js與angular搭建spa應(yīng)用的方法實(shí)例,文中通過示例代碼給大家介紹的非常詳細(xì),對大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。2017-07-07