JavaScript知識(shí)點(diǎn)總結(jié)(十)之this關(guān)鍵字
this是Javascript語(yǔ)言的一個(gè)關(guān)鍵字。隨著函數(shù)使用場(chǎng)合的不同,this的值會(huì)發(fā)生變化。但是有一個(gè)總的原則,那就是this指的是,調(diào)用函數(shù)的那個(gè)對(duì)象。JavaScript中的this指針是一個(gè)動(dòng)態(tài)的變量,一個(gè)方法內(nèi)的this指針并不是始終指向定義該方法的對(duì)象的。Javascript中this關(guān)鍵字通常指向當(dāng)前函數(shù)的擁有者。
下面通過(guò)代碼給大家介紹下。具體代碼如下所示:
<script type="text/javascript"> function Person(){ /*使用var 屬性名定義的屬性是類的私有屬性,外界無(wú)法訪問(wèn),要想被外界訪問(wèn),就要使用公共方法*/ var QQ=""; var Email="@qq.com"; /*使用this.屬性名定義的屬性就是類的公共屬性,是可以被外界訪問(wèn)的*/ this.Name="孤傲蒼狼"; this.Age=; /*定義Person類的公共方法,凡是定義類的公共屬性和公共方法都要使用this*/ this.Show=function(){//定義Person類的公共方法(特權(quán)方法) alert("QQ="+QQ+"\tEmail="+Email); } /*定義Person類的私有方法*/ function Show(){//這是Person類的一個(gè)私有方法,只能在Person類內(nèi)部使用 } } var p = new Person(); alert("私有屬性p.QQ="+p.QQ+"\t"+"p.Email="+p.Email); alert("公共屬性p.Name="+p.Name+"\t"+"p.Age="+p.Age); p.Show(); //p.Show();//這里會(huì)報(bào)錯(cuò),無(wú)法調(diào)用Person類的私有方法, /* Window 對(duì)象描述 Window 對(duì)象表示一個(gè)瀏覽器窗口或一個(gè)框架。在客戶端 JavaScript 中,Window 對(duì)象是全局對(duì)象,所有的表達(dá)式都在當(dāng)前的環(huán)境中計(jì)算。 也就是說(shuō),要引用當(dāng)前窗口根本不需要特殊的語(yǔ)法,可以把那個(gè)窗口的屬性作為全局變量來(lái)使用。例如,可以只寫 document,而不必寫 window.document。 同樣,可以把當(dāng)前窗口對(duì)象的方法當(dāng)作函數(shù)來(lái)使用,如只寫 alert(),而不必寫 Window.alert()。 */ function Test(){ alert(this.v); } v=; Test(); window.Test();//記住一句話:哪個(gè)對(duì)象調(diào)用this所在的函數(shù),那么this代表的就是哪個(gè)對(duì)象實(shí)例,這里是window對(duì)象調(diào)用Test()方法,因此此時(shí)this指的就是window對(duì)象 function Test(){ this.fnTest=function(){ alert(this.v); } } var t = new Test(); t.v="記住一句話:哪個(gè)對(duì)象調(diào)用this所在的函數(shù),那么this代表的就是哪個(gè)對(duì)象實(shí)例"; t.fnTest();//這里是t對(duì)象調(diào)用Test()方法,因此此時(shí)this指的就是t對(duì)象 </script>
JavaScript的this總結(jié):
1、this不能在類定義的外部使用,只能在類定義的內(nèi)部使用。
2、哪個(gè)對(duì)象調(diào)用this所在的函數(shù),那么this代表的就是哪個(gè)對(duì)象實(shí)例。
關(guān)于JavaScript知識(shí)點(diǎn)總結(jié)(十)之this關(guān)鍵字的理解就給大家介紹這里,希望對(duì)大家有所幫助!
- 學(xué)習(xí)掌握J(rèn)avaScript中this的使用技巧
- JavaScript中的this使用詳解
- 老生常談 js中this的指向
- 再次談?wù)揓avascript中的this
- 聊一聊JS中this的指向問(wèn)題
- tomcat6下jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法
- 詳解JavaScript中this關(guān)鍵字的用法
- javascript中this指向詳解
- js老生常談之this,constructor ,prototype全面解析
- javascript this詳細(xì)介紹
相關(guān)文章
JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能
本篇文章給大家介紹了JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能,文字代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03webpack4之SplitChunksPlugin使用指南
這篇文章主要介紹了webpack4之SplitChunksPlugin使用指南,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06教學(xué)演示-UBB,剪貼板,textRange及其他
[紅色]教學(xué)演示-UBB,剪貼板,textRange及其他...2006-11-11JS co 函數(shù)庫(kù)的含義和用法實(shí)例總結(jié)
這篇文章主要介紹了JS co 函數(shù)庫(kù)的含義和用法,結(jié)合實(shí)例形式總結(jié)分析了JS co 函數(shù)庫(kù)的基本含義、功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04JavaScript設(shè)計(jì)模式之代理模式簡(jiǎn)單實(shí)例教程
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之代理模式,簡(jiǎn)單描述了代理模式的概念、功能、組成并結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript代理模式的定義與使用相關(guān)操作技巧,需要的朋友可以參考下2018-07-07javascript實(shí)現(xiàn)tab切換的四種方法
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)tab切換的四種方法,并且對(duì)每個(gè)方法進(jìn)行了評(píng)價(jià),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評(píng)分功能
這篇文章主要為大家詳細(xì)介紹了微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評(píng)分功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11