亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【JavaScript】this指的是誰?

ytwman / 441人閱讀

摘要:引用的是函數(shù)功能據(jù)以執(zhí)行的環(huán)境對象,因此的值與調(diào)用函數(shù)的方式有著密切的關(guān)系。調(diào)用構(gòu)造函數(shù)在調(diào)用構(gòu)造函數(shù)時返回,指向構(gòu)造函數(shù)創(chuàng)建的實例中,指向?qū)嵗龑ο蟆t函數(shù)內(nèi)部的指向方法指定的對象。若閉包在全局作用域中調(diào)用,則指向。

在函數(shù)創(chuàng)建的時候,函數(shù)內(nèi)部自動獲取到this(還有一個arguments)。this引用的是函數(shù)功能據(jù)以執(zhí)行的環(huán)境對象,因此this的值與調(diào)用函數(shù)的方式有著密切的關(guān)系。

作為函數(shù)調(diào)用時,this指向window。

   var name = "window";
   function sayName() {
       console.log(this.name);
   }
   sayName(); //window

作為對象的方法調(diào)用時,this指向該對象。

   var obj = {
       name: "object",
       sayName: function() {
           console.log(this.name);
       }
   };
   obj.sayName(); //object
   (obj.sayName = obj.sayName)(); //window
   (obj.sayName, obj.sayName)(); //window

賦值語句和逗號運算符都會返回后面變量的值,所以后兩者相當(dāng)于在全局中調(diào)用了函數(shù),this指向了window。

調(diào)用構(gòu)造函數(shù)
在調(diào)用構(gòu)造函數(shù)時返回this,this指向構(gòu)造函數(shù);創(chuàng)建的實例中,this指向?qū)嵗龑ο蟆?/p>

   function Person(n) {
       console.log(this);
       this.name = n;
       this.sayName = function() {
           return this.name;
       };
   }
   var person = new Person("hiyohoo"); //Person{}
   console.log(person.sayName()); //hiyohoo

調(diào)用函數(shù)時指定this。在調(diào)用函數(shù)時如果使用函數(shù)方法call()、apply()、bind()。則函數(shù)內(nèi)部的this指向方法指定的對象。而一旦被bind()指定了this值,之后不管以何種方式調(diào)用函數(shù),其this值始終指向bind()指定的對象環(huán)境。

   var outer = {
       name: "outer",
       inner: {
           name: "inner",
           t: function() {
               return this.name;
           }
       }
   };
   console.log(outer.inner.t()); //inner
   console.log(outer.inner.t.bind(outer)()); //outer

閉包中的this。若閉包在全局作用域中調(diào)用,則this指向window。這里我們用定時器做例子:

   var name = "window";
   var obj = {
       name: "object",
       sayName: function() {
           setInterval(function() {
               console.log(this.name);
           }, 1000);
       }
   };
   obj.sayName(); //window

作為dom綁定事件的回調(diào)函數(shù)。this指向這個dom元素。

轉(zhuǎn)載請注明出處:https://segmentfault.com/a/1190000004587440

文章不定期更新完善,如果能對你有一點點啟發(fā),我將不勝榮幸。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/78867.html

相關(guān)文章

  • JavaScript的創(chuàng)世神話——一切源于對象

    摘要:但是,中并沒有類的概念,而是通過構(gòu)造函數(shù)替代了類的功能,為某一類的對象提供共同的屬性和方法。一只名叫的狗,首先繼承了構(gòu)造函數(shù)的原型對象,而的原型對象中的有繼承了函數(shù)的原型對象,函數(shù)對象中的有繼承了的原型對象。 《圣經(jīng)》里的第一章創(chuàng)世紀(jì)中其中有一段經(jīng)典記載上帝是如何創(chuàng)造人的。神說:我們要照著我們的形象,按照我們的樣式造人。不謀而合的是,JavaScript中似乎也遵循著上帝的旨意去創(chuàng)造程...

    enda 評論0 收藏0
  • 前端面試基本知識點——javascript

    摘要:又到一年春招季,們又要奔波于一場又一場的面試。今天就先來小小總結(jié)一下方面的知識點,方便你我他。在發(fā)送請求前加上。在后面加上時間搓。這樣頁面的所有都會執(zhí)行這條語句就是不需要保存緩存記錄。如何解決跨域問題服務(wù)器上設(shè)置代理頁面 又到一年春招季,coder們又要奔波于一場又一場的面試。今天就先來小小總結(jié)一下javascript方面的知識點,方便你我他。隨時補充 js基本數(shù)據(jù)類型 Undef...

    hankkin 評論0 收藏0
  • JS基礎(chǔ)入門篇(四)—this的使用,模擬單選框,選項卡和復(fù)選框

    摘要:建立索引,記錄每一個節(jié)點值。選項卡模擬選項卡方法一大清洗,在設(shè)置顏色之前把所有的顏色值設(shè)為空。宋體選項卡一選項卡二選項卡三內(nèi)容一內(nèi)容二內(nèi)容三方法二點擊什么,清除什么。 1.this的使用 this js中的關(guān)鍵字 js內(nèi)部已經(jīng)定義好了,可以不聲明 直接使用 this的指向問題 1. 在函數(shù)外部使用 this指向的是window 2...

    tanglijun 評論0 收藏0
  • JS基礎(chǔ)入門篇(四)—this的使用,模擬單選框,選項卡和復(fù)選框

    摘要:建立索引,記錄每一個節(jié)點值。選項卡模擬選項卡方法一大清洗,在設(shè)置顏色之前把所有的顏色值設(shè)為空。宋體選項卡一選項卡二選項卡三內(nèi)容一內(nèi)容二內(nèi)容三方法二點擊什么,清除什么。 1.this的使用 this js中的關(guān)鍵字 js內(nèi)部已經(jīng)定義好了,可以不聲明 直接使用 this的指向問題 1. 在函數(shù)外部使用 this指向的是window 2...

    hot_pot_Leo 評論0 收藏0
  • JS基礎(chǔ)入門篇(四)—this的使用,模擬單選框,選項卡和復(fù)選框

    摘要:建立索引,記錄每一個節(jié)點值。選項卡模擬選項卡方法一大清洗,在設(shè)置顏色之前把所有的顏色值設(shè)為空。宋體選項卡一選項卡二選項卡三內(nèi)容一內(nèi)容二內(nèi)容三方法二點擊什么,清除什么。 1.this的使用 this js中的關(guān)鍵字 js內(nèi)部已經(jīng)定義好了,可以不聲明 直接使用 this的指向問題 1. 在函數(shù)外部使用 this指向的是window 2...

    CoderDock 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<