国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javascript this指針詳解

graf / 2979人閱讀

摘要:但是有一個總的原則,那就是指的是,調(diào)用函數(shù)的那個對象使用主要分四種情況,討論下指針的用法和注意事項一純粹的函數(shù)調(diào)用這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此就代表全局對象。

this是Javascript語言的一個關(guān)鍵字它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用,隨著函數(shù)使用場合的不同,this的值會發(fā)生變化。但是有一個總的原則,那就是this指的是,調(diào)用函數(shù)的那個對象

this使用主要分四種情況,討論下this指針的用法和注意事項:

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

這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此this就代表全局對象Global。

function test(){ 

    this.x = 1; 

    alert(this.x); 

  } 

  test(); // 1 

為了證明this就是全局對象,我對代碼做一些改變:

var x = 1; 

  function test(){ 

    alert(this.x); 

  } 

  test(); // 1 

運行結(jié)果還是1。再變一下:

var x = 1; 

  function test(){ 

    this.x = 0; 

  } 

  test(); 

  alert(x); //0 
二 作為對象方法的調(diào)用

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

function test(){ 

    alert(this.x); 

  } 

  var o = {}; 

  o.x = 1; 

  o.m = test; 

  o.m(); // 1 
三 作為構(gòu)造函數(shù)調(diào)用

所謂構(gòu)造函數(shù),就是通過這個函數(shù)生成一個新對象(object)。這時,this就指這個新對象。

function test(){ 

    this.x = 1; 

  } 

  var o = new test(); 

  alert(o.x); // 1 
四 apply調(diào)用

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

var x = 0; 

  function test(){ 

    alert(this.x); 

  } 

  var o={}; 

  o.x = 1; 

  o.m = test; 

  o.m.apply(); //0 

apply()的參數(shù)為空時,默認(rèn)調(diào)用全局對象。因此,這時的運行結(jié)果為0,證明this指的是全局對象。

如果把最后一行代碼修改為 o.m.apply(o); //1

運行結(jié)果就變成了1,證明了這時this代表的是對象o

原文轉(zhuǎn)載自此鏈接

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92160.html

相關(guān)文章

  • javascript技術(shù)難點(三)之this、new、apply和call詳解

    摘要:第四點也要著重講下,記住構(gòu)造函數(shù)被操作,要讓正常作用最好不能在構(gòu)造函數(shù)里 4) this、new、call和apply的相關(guān)問題 講解this指針的原理是個很復(fù)雜的問題,如果我們從javascript里this的實現(xiàn)機制來說明this,很多朋友可能會越來越糊涂,因此本篇打算換一個思路從應(yīng)用的角度來講解this指針,從這個角度理解this指針更加有現(xiàn)實意義。 下面我們看看在ja...

    ghnor 評論0 收藏0
  • javascript this指針詳解

    摘要:但是有一個總的原則,那就是指的是,調(diào)用函數(shù)的那個對象使用主要分四種情況,討論下指針的用法和注意事項一純粹的函數(shù)調(diào)用這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此就代表全局對象。 this是Javascript語言的一個關(guān)鍵字它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用,隨著函數(shù)使用場合的不同,this的值會發(fā)生變化。但是有一個總的原則,那就是this指的是,調(diào)用函數(shù)的那個對...

    AlphaWallet 評論0 收藏0
  • JavaScript學(xué)習(xí)總結(jié)(五)原型和原型鏈詳解

    摘要:原型對象內(nèi)部也有一個指針屬性指向構(gòu)造函數(shù)實例可以訪問原型對象上定義的屬性和方法。在創(chuàng)建子類型的實例時,不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 私有變量和函數(shù) 在函數(shù)內(nèi)部定義的變量和函數(shù),如果不對外提供接口,外部是無法訪問到的,也就是該函數(shù)的私有的變量和函數(shù)。 function ...

    EscapedDog 評論0 收藏0
  • javascript對象詳解:__proto__和prototype的區(qū)別和聯(lián)系

    摘要:當(dāng)這步完成,這個對象就與構(gòu)造函數(shù)再無聯(lián)系,這個時候即使構(gòu)造函數(shù)再加任何成員,都不再影響已經(jīng)實例化的對象了。此時,對象具有了和屬性,同時具有了構(gòu)造函數(shù)的原型對象的所有成員,當(dāng)然,此時該原型對象是沒有成員的。 前言 本篇文章用來記錄下最近研究對象的一些心得,做一個記錄與總結(jié),以加深自己的印象,同時,希望也能給正在學(xué)習(xí)中的你一點啟發(fā)。本文適合有一定JavaScript基礎(chǔ)的童鞋閱讀。原文戳這...

    chavesgu 評論0 收藏0
  • JavaScriptthis對象詳解

    摘要:再來看一個小的示例淘寶騰訊淘寶為什么輸出的依然是淘寶呢調(diào)用的是對象中的方法,方法里面有一個定時器,而定時器的一個參數(shù)是這里的指的就是的對象,然后方法里面有調(diào)用了,但是定時器中的指的是對象,所以最終調(diào)用的是對象中。 1.看前熱身 看一段代碼 var name = javascript; var obj = { name:js, foo:f...

    Integ 評論0 收藏0

發(fā)表評論

0條評論

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