this的指向

一艘儒、定義:this是運(yùn)行時(shí)當(dāng)前的指代袜漩。在不同處,指向也不同度液。

二厕宗、構(gòu)造函數(shù)中的this:用于給類添加成員。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? function Person(name, age) {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??this.name = name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???this.age = age? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???this.sayHis = function() {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??console.log(`大家好堕担!已慢,我叫${this.name},今年${this.age}歲`);}}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 擴(kuò)展:創(chuàng)建對(duì)象,該對(duì)象會(huì)擁有霹购,類型中定義的所有成員佑惠。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?let p1 = new Person('張三',20)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??console.log(p1);

三、對(duì)象中的this:在方法中,this指向方法的調(diào)用者膜楷,誰(shuí)在調(diào)用該方法旭咽,this就指向誰(shuí)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??如果一個(gè)方法,不是由對(duì)象調(diào)用執(zhí)行的把将,而是直接執(zhí)行的轻专,那么該方法里面的this就執(zhí)行window對(duì)象? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?let obj1 = {?name: '肖戰(zhàn)',? age: 20,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sayHi: function() {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??console.log(`大家好!察蹲,我叫${this.name},今年${this.age}歲`);}}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??obj1.sayHi()?

四请垛、箭頭函數(shù)中的this:在箭頭函數(shù)中沒有this,如果在箭頭函數(shù)中使用了this洽议,它會(huì)向上一層函數(shù)中去找this宗收; 如果上一層函數(shù)也是箭頭函數(shù),或者沒有上一層函數(shù)了亚兄,這個(gè)時(shí)候this就指向window對(duì)象混稽。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??let obj1 = {?name: '肖戰(zhàn)',age: 20,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sayHi: function() {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?console.log(`大家好!审胚,我叫${this.name},今年${this.age}歲`);}sayHello:()=>{?console.log(`Hello匈勋!我是${this.name},今年${this.age}歲`);}}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? let obj2={name: '關(guān)曉彤'膳叨,age:22}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? obj2.sayHi=obj1.sayHi? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?obj2.sayHi ( )? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?補(bǔ):? var 定義的成員洽洁,會(huì)自動(dòng)添加為window對(duì)象的成員? ? ? ?

五、更改this的指向? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? let obj1 = {? name: '李現(xiàn)',?age: 30,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??sayHi() {?console.log(`大家好菲嘴!饿自,我叫${this.name},今年${this.age}歲`);}}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? let obj2 = {name: '彭于晏',age: 32}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??1、call? :有參數(shù) obj1.sayHi.call(obj2龄坪,a,b)?昭雌;無(wú)參數(shù) 則去除a,b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、apply :? 有參數(shù) obj1.sayHi.apply(obj2健田,[a,b]) 只能有兩個(gè)參數(shù)烛卧,用中括號(hào)。無(wú)參數(shù) 則去除a,b? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3抄课、bind:?obj1.sayHi.bind(obj2唱星,a,b)() 返回的是新的方法,需要加個(gè)括號(hào)跟磨,去執(zhí)行一下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末间聊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子抵拘,更是在濱河造成了極大的恐慌哎榴,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異尚蝌,居然都是意外死亡迎变,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門飘言,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)衣形,“玉大人,你說(shuō)我怎么就攤上這事姿鸿∽晃猓” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵苛预,是天一觀的道長(zhǎng)句狼。 經(jīng)常有香客問我,道長(zhǎng)热某,這世上最難降的妖魔是什么腻菇? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮昔馋,結(jié)果婚禮上筹吐,老公的妹妹穿的比我還像新娘。我一直安慰自己秘遏,他們只是感情好骏令,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垄提,像睡著了一般。 火紅的嫁衣襯著肌膚如雪周拐。 梳的紋絲不亂的頭發(fā)上铡俐,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音妥粟,去河邊找鬼审丘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛勾给,可吹牛的內(nèi)容都是我干的滩报。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼播急,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼脓钾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起桩警,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤可训,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體握截,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飞崖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谨胞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片固歪。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胯努,靈堂內(nèi)的尸體忽然破棺而出牢裳,到底是詐尸還是另有隱情,我是刑警寧澤康聂,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布贰健,位于F島的核電站,受9級(jí)特大地震影響恬汁,放射性物質(zhì)發(fā)生泄漏伶椿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一氓侧、第九天 我趴在偏房一處隱蔽的房頂上張望脊另。 院中可真熱鬧,春花似錦约巷、人聲如沸偎痛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)踩麦。三九已至,卻和暖如春氓癌,著一層夾襖步出監(jiān)牢的瞬間谓谦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工贪婉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留反粥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓疲迂,卻偏偏與公主長(zhǎng)得像才顿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尤蒿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 先了解 一個(gè)基本概念:普通函數(shù)的 this 指向不是在定義的時(shí)候確定郑气,而是在調(diào)用的時(shí)候確定。 兩個(gè)注意事項(xiàng): 所有...
    Super超_fee3閱讀 153評(píng)論 0 0
  • 這是在寫Ajax項(xiàng)目里的購(gòu)物車數(shù)量的更改時(shí)到的: 在下面的例子里优质,觸發(fā)事件后a指的是循環(huán)的最后一個(gè)結(jié)果竣贪,而不是當(dāng)前...
    千鋒H5閱讀 1,060評(píng)論 0 0
  • this 解析器在調(diào)用函數(shù)每次都會(huì)向函數(shù)內(nèi)部傳遞進(jìn)一個(gè)隱含的參數(shù)军洼,這個(gè)隱含的參數(shù)就是this,this指向的是一個(gè)...
    你的胡霸霸閱讀 329評(píng)論 0 4
  • 函數(shù)上下文 (this 指向)看這一篇就夠了 簡(jiǎn)單調(diào)用演怎,函數(shù)直接圓括號(hào)執(zhí)行匕争,函數(shù)上下文是 window(this ...
    MrWelson閱讀 296評(píng)論 0 0
  • 一:全局中執(zhí)行 瀏覽器環(huán)境————————window node————————global sdsd...
    思穎_c7ab閱讀 106評(píng)論 0 0