Angular.JS中的this指向詳解
【this詳解】
1、誰最終調(diào)用函數(shù),this指向誰。
① this指向的,永遠(yuǎn)只可能是對象?。。。。?!
② 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)文章
angular報(bào)錯can't resolve all parameters&nb
這篇文章主要介紹了angular報(bào)錯can't resolve all parameters for []的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
Angular 中使用 FineReport不顯示報(bào)表直接打印預(yù)覽
這篇文章主要介紹了Angular 中使用 FineReport不顯示報(bào)表直接打印預(yù)覽,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
關(guān)于AngularJs數(shù)據(jù)的本地存儲詳解
本文主要介紹了每一個獨(dú)立的JS文件或者不同的控制器如何實(shí)現(xiàn)數(shù)據(jù)的共享與交互的方法。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01
Angular中ng-options下拉數(shù)據(jù)默認(rèn)值的設(shè)定方法
本篇文章主要介紹了Angular中ng-options下拉數(shù)據(jù)默認(rèn)值的設(shè)定方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Angular通過?HTTP?Interceptor?實(shí)現(xiàn)?HTTP?請求超時監(jiān)控的例子
這篇文章主要介紹了Angular?如何通過?HTTP?Interceptor?實(shí)現(xiàn)?HTTP?請求的超時監(jiān)控,本文通過例子給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
AngularJs的UI組件ui-Bootstrap之Tooltip和Popover
這篇文章主要介紹了AngularJs的UI組件ui-Bootstrap之Tooltip和Popover,tooltip和popover是輕量的、可擴(kuò)展的、用于提示的指令。具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
自定義Angular指令與jQuery實(shí)現(xiàn)的Bootstrap風(fēng)格數(shù)據(jù)雙向綁定的單選與多選下拉框
這篇文章主要介紹了自定義Angular指令與jQuery實(shí)現(xiàn)的Bootstrap風(fēng)格數(shù)據(jù)雙向綁定的單選與多選下拉框 的相關(guān)資料,需要的朋友可以參考下2015-12-12

