真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Js中的this是什么-創(chuàng)新互聯(lián)

這篇文章主要講解了“Js中的this是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Js中的this是什么”吧!

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為混凝土攪拌罐車等企業(yè)提供專業(yè)服務(wù)。

this 是什么

理解this之前, 先糾正一個(gè)觀點(diǎn),this 既不指向函數(shù)自身,也不指函數(shù)的詞法作用域。如果僅通過(guò)this的英文解釋,太容易產(chǎn)生誤導(dǎo)了。它實(shí)際是在函數(shù)被調(diào)用時(shí)才發(fā)生的綁定,也就是說(shuō)this具體指向什么,取決于你是怎么調(diào)用的函數(shù)。也就是說(shuō)誰(shuí)調(diào)用的this,this就指向誰(shuí)。

1.純粹的函數(shù)調(diào)用

這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此this就代表全局對(duì)象。請(qǐng)看下面這段代碼,它的運(yùn)行結(jié)果是1。

來(lái)看這段代碼:

var a = 2; function fun() {

}

console.log( this.a );

fun();

此時(shí)的打印結(jié)果是2。

因?yàn)閒un()是直接調(diào)用的(獨(dú)立函數(shù)調(diào)用),沒有應(yīng)用其他的綁定規(guī)則,這里進(jìn)行了默認(rèn)綁定,將全局對(duì)象綁定this上,所以this.a 就解析成了全局變量中的a,即2。此時(shí)的this相當(dāng)于Window。

調(diào)用函數(shù)實(shí)質(zhì)是window調(diào)用test方法,所以函數(shù)體內(nèi)的this指向的是window。

2.作為對(duì)象方法的調(diào)用

函數(shù)還可以作為某個(gè)對(duì)象的方法調(diào)用,這時(shí)this就指這個(gè)上級(jí)對(duì)象。

function test() {

console.log(this.x);

}

var obj = {};

obj.x = 1;

obj.m = test;

obj.m();

此時(shí)打印結(jié)果為1;this相當(dāng)于obj對(duì)象。

此時(shí)的test函數(shù)被用作了object對(duì)象的方法來(lái)調(diào)用,所以test里的this指向object。

3.作為構(gòu)造函數(shù)調(diào)用

所謂構(gòu)造函數(shù),就是通過(guò)這個(gè)函數(shù),可以生成一個(gè)新對(duì)象。這時(shí),this就指這個(gè)新對(duì)象。

function test() {

this.x = 1;

}

var obj = new test();

4.call/apply 改變this的指向

function Person(name,age){

this.name = name;

this.age = age

}

var person=new Person("xu",18);

var obj = {}

Person.call(obj,"liu",20)

通過(guò)在控制臺(tái)打印我們可以看出,this現(xiàn)在指的是obj對(duì)象,所以說(shuō)call可以改變this的指向。

call與apply的不同在于傳值時(shí)是以數(shù)組的方式:

Person.apply(obj,["liu",20] )

Apply() 是函數(shù)的一個(gè)方法,作用是改變函數(shù)調(diào)用的對(duì)象。它的第一個(gè)參數(shù)就表示改變后的調(diào)用這個(gè)函數(shù)的對(duì)象。因此,這是的this指的就是這第一個(gè)參數(shù)。

總結(jié)

1. 通常在函數(shù)中的this指向的是調(diào)用函數(shù)的哪個(gè)對(duì)象(誰(shuí)調(diào)用指向誰(shuí))。

2. 事件函數(shù)中的this通常指向的是事件前的對(duì)象。

3. 構(gòu)造函數(shù)中的this,(使用new調(diào)用構(gòu)造函數(shù)創(chuàng)建對(duì)象),通常指向的是new所創(chuàng)建出來(lái)的對(duì)象本身。

4. 全局范圍的this通常指向的是全局對(duì)象(瀏覽器中是window)。

感謝各位的閱讀,以上就是“Js中的this是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Js中的this是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)頁(yè)題目:Js中的this是什么-創(chuàng)新互聯(lián)
本文來(lái)源:http://weahome.cn/article/ejgci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部