this指向總結(jié)

總結(jié):

  1. 純粹的函數(shù)調(diào)用:指向全局
  2. 作為對(duì)象方法的調(diào)用:指向?qū)ο螅ㄕ{(diào)用者)
  3. 構(gòu)造函數(shù)調(diào)用:構(gòu)造函數(shù)中的this指向new出來的對(duì)象實(shí)例
  4. apply調(diào)用:指向apply所接受的執(zhí)行空間
  5. 剪頭函數(shù):指向上一級(jí)

不重要的

  • 定時(shí)器指向window
  • 事件綁定指向元素本身

一道騰訊筆試題

  var x = 20;
  var a = {
    x: 15,
    fn: function () {
      var x = 30;
      return function () {
        return this.x
      }
    }
  }
  console.log(a.fn());//返回一個(gè)函數(shù)
  console.log((a.fn())());//20
  console.log(a.fn()());//20
  console.log(a.fn()() == (a.fn())()); //true
  console.log(a.fn().call(this)); //20
  console.log(a.fn().call(a)); //15 

demo:

  var name = 'tangbohu'
  // 1.純粹的函數(shù)調(diào)用:指向全局
  function doit() {
    alert(this.name)//'tangbohu'
  }
  doit()
  // 2.作為對(duì)象方法的調(diào)用:指向?qū)ο螅ㄕ{(diào)用者)
  const person = {
    name: 'xusheng',
    sayName: function () {
      alert(this.name)//xusheng
    }
  }
  person.sayName()
  // 3.構(gòu)造函數(shù)調(diào)用:構(gòu)造函數(shù)中的this指向new出來的對(duì)象實(shí)例
  function foo(name, age) {
    this.name = name
    this.age = age
  }
  const baby = new foo('heshang', 13);
  alert(baby.name)//heshang

  // 4.apply調(diào)用:指向apply所接受的執(zhí)行空間
  name = 'window-Name'
  function testapply() {
    alert(this.name)
  }
  testapply.apply(person)//xusheng    并不是window下的window-Name

  // 5.剪頭函數(shù):指向上一級(jí)
  const person2 = {
    name: 'xusheng??????',
    sayName: () => {
      alert(this.name)//window-Name
    }
  }
  person2.sayName()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天的分享讓我有些迫不及待。主題是——如何利用心理學(xué)小技巧,引導(dǎo)用戶的行為,達(dá)到自己的目的。 這一切來源于一個(gè)研...
    底層的奮進(jìn)閱讀 1,196評(píng)論 0 4
  • CS曾經(jīng)令無數(shù)80后的男生為之著迷,不惜日夜奮戰(zhàn),而現(xiàn)在,那群玩著CS成長(zhǎng)的80后大部分都已為人夫,為人父,有了自...
    徽韻蒹葭閱讀 858評(píng)論 19 15
  • 滿朝朱紫貴,盡是讀書人
    萬十千閱讀 163評(píng)論 0 0

友情鏈接更多精彩內(nèi)容