欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JavaScript函數(shù)中this有哪些不同的指向-創(chuàng)新互聯(lián)

這篇文章主要介紹了JavaScript函數(shù)中this有哪些不同的指向,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比潞城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式潞城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋潞城地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

上下文和this關(guān)鍵字

在JavaScript中,函數(shù)有自己的執(zhí)行上下文,在這里要特別注意下函數(shù)的執(zhí)行上下文不是關(guān)于它是如何聲明的,也不是說函數(shù)的作用,而是關(guān)于如何在代碼中調(diào)用它,我們在調(diào)用此執(zhí)行上下文時就會用到this。當(dāng)this從函數(shù)內(nèi)部訪問時,實際上就是訪問其執(zhí)行上下文。

調(diào)用函數(shù)方式與this

上下文取決于函數(shù)的調(diào)用方式,我們可以通過4種不同的方式來調(diào)用上下文的函數(shù),因此this也有四種不同的指向

1. 一個基本的函數(shù)調(diào)用

2. 使用上下文對象調(diào)用函數(shù),也稱為隱式綁定。

3. 使用call()或調(diào)用函數(shù)apply(),也稱為顯式綁定。

4. 通過bind()方法綁定

基本函數(shù)調(diào)用

基本函數(shù)調(diào)用是調(diào)用函數(shù)的最簡單方法

例:

<script type="text/javascript">
	var name="張三";
	function student(){
		console.log(this.name);
	}
	student();
</script>

JavaScript函數(shù)中this有哪些不同的指向

在這個例子中可以看出student()是從全局范圍內(nèi)調(diào)用函數(shù),因此這里的this指代的是全局范圍,所以輸出結(jié)果為“”張三“”

隱式綁定

當(dāng)函數(shù)被一個對象“包含”的時候,我們稱函數(shù)的this被隱式綁定到這個對象里面了

<script type="text/javascript">
var student={
	name:"張三",
	obj:function(){
		console.log(this.name)
	}
}
student.obj();
	</script>

JavaScript函數(shù)中this有哪些不同的指向

obj函數(shù)雖然被放到對象里去但是并不會因為它被定義在對象的內(nèi)部就會與外部產(chǎn)生區(qū)別,在隱式綁定下,obj通過this還是可以訪問到student對象中的a屬性

顯示綁定

可以使用call()或apply()方法調(diào)用函數(shù),其執(zhí)行上下文顯式綁定到對象,call和apply可以改變this指向

例:未使用call ()或者apply()時

<script type="text/javascript">
var name="張三";
var obj = {
	name:"李四",
	fun:function(){
	console.log(this.name);}}
obj.fun();
</script>

JavaScript函數(shù)中this有哪些不同的指向

利用call()使this指向window

<script type="text/javascript">
var name="張三";
var obj = {
name:"李四",
fun:function(){
      onsole.log(this.name);}}
       obj.fun.call(window);
</script>

JavaScript函數(shù)中this有哪些不同的指向

bind()綁定

bind()會創(chuàng)建一個函數(shù),函數(shù)體內(nèi)的this對象的值會被綁定到傳入bind()第一個參數(shù)的值,但是bind不執(zhí)行函數(shù),只返回一個可供執(zhí)行的函數(shù)

<script type="text/javascript">
var a = {
	b : function(){
		var func = function(){
			console.log(this.c);
		}
		func.bind(this)();
	},
	c : 'Hello!'
}
a.b();
	</script>

通過bind方法將this指向c對象中的內(nèi)容。

JavaScript函數(shù)中this有哪些不同的指向

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享JavaScript函數(shù)中this有哪些不同的指向內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)建站,詳細(xì)的解決方法等著你來學(xué)習(xí)!

當(dāng)前標(biāo)題:JavaScript函數(shù)中this有哪些不同的指向-創(chuàng)新互聯(lián)
本文鏈接:http://aaarwkj.com/article28/pejcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站網(wǎng)站建設(shè)、動態(tài)網(wǎng)站小程序開發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
欧美一区二区日本国产激情| 夫妻性生活视频全过程| 自拍偷拍亚洲精品第一页| 国产成人大片一区二区三区| 欧美日韩亚洲国产一区| 手机黄色av免费在线网址| 一区二区三区亚洲精品在线| 国产精品亚洲欧美日韩在线播放| 国产精品久久高清免费| 国产欧美一区二区三区高清| 日本东京热加勒比视频| 日本高清一区二区网站| 91精品国产综合久久男男| 一区二区三区午夜激情| 一区二区三区深夜福利| 日本高清av一区二区| 亚洲欧美不卡一区二区| 欧美成人精品免费在线| 天堂av好男人亚洲精品| 日本精品在线亚洲国产欧美| 亚洲日本熟妇在线视频| 日本精品av免费观看| 婷婷五激情五月激情片| 公交车上没穿内裤被插高潮不断| 亚洲91无专砖码高清观看| 另类欧美亚洲中文在线综合| 两性色午夜视频在线观看| 放荡精品少妇一区二区三区| 91精品亚洲内射孕妇| 午夜免费福利视频一区| 国产精品老熟女一区二区| 亚洲另类欧美日韩中文字幕| 国产经典三级在线看| 天堂av五月在线观看| 日韩一二卡在线观看视频| 高潮国产精品一区二区| 亚洲精品一区二区毛豆| 国产欧美日韩亚洲综合在线| 国产丝袜美腿视频亚洲综合| 快播av手机在线播放| 国产精品久久一国产精品|