javascript
JavaScript中的this用法
最近看了許多JavaScript源代碼,發(fā)現(xiàn)this經(jīng)常出現(xiàn),于是對this這個非常特殊的關(guān)鍵詞標識符進行總結(jié)。
題外話:
1、當函數(shù)被調(diào)用時,一個activation record【過程活動記錄 -- 一種數(shù)據(jù)結(jié)構(gòu)】被創(chuàng)建,
?這個record包涵信息:函數(shù)在哪調(diào)用,函數(shù)怎么調(diào)用的,參數(shù)等等,
?record的一個屬性就是this,指向函數(shù)執(zhí)行期間的this對象。
2、函數(shù)在被調(diào)用時都會自動取得兩個特殊變量,this和arguments
this在具體情況下的分析:
1、在全局上下文,this指向全局對象。
? ??
2、在函數(shù)內(nèi)部時,this由函數(shù)怎么調(diào)用來確定。
(1)作為對象方法的調(diào)用
? ????
也可以這樣寫
?
?
(2)作為構(gòu)造函數(shù)的調(diào)用
? ????
在構(gòu)造函數(shù)(函數(shù)用new調(diào)用)中,this指向要被constructed的新對象。 ?即this指向?qū)嵗瘜ο?/p>
3、apply調(diào)用
??apply()是函數(shù)對象的方法,其作用是改變函數(shù)的調(diào)用對象,它的第一個參數(shù) 表示改變后的調(diào)用的函數(shù)對象,即this指的就是第一個參數(shù)。
? ??
?apply()參數(shù)為空時,默認調(diào)用全局對象,可以看到,運行結(jié)果為 "Yori",證明this指向全局對象。
?apply()參數(shù)為b時,,可以看到,運行結(jié)果為 "bentos",證明this指向?qū)ο骲。
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuyongyu/p/5756626.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript中的this用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拍拍贷流标是什么意思
- 下一篇: SpringBoot集成jsp(附源码)