JavaScript:this是什麼

 

JavaScriptthis是什麼? javascript

 

定義:this是包含它的函數做爲方法被調用時所屬的對象。 html

說明:這句話有點咬嘴,但一個多餘的字也沒有,定義很是準確,咱們能夠分3部分來理解它! java

    1、包含它的函數。2、做爲方法被調用時。3、所屬的對象。 函數

看例子: this

function to_green(){ url

   this.style.color="green"; spa

} orm

to_green(); htm

上面函數中的this指的是誰? 對象

分析:包含this的函數是,to_green

          該函數做爲方法被調用了

          該函數所屬的對象是。。?咱們知道默認狀況下,都是window對象。

OKthis就是指的window對象了,to_green中執行語句也就變爲,window.style.color="green"

這讓window很上火,由於它並無style這麼個屬性,因此該語句也就沒什麼做用。

咱們在改一下。

 

window.load=function(){

    var example=document.getElementById("example");

    example.onclick=to_green;

}

這時this又是什麼呢?

咱們知道經過賦值操做,example對象的onclick獲得to_green的方法,那麼包含this的函數就是onclick嘍,

那麼this就是example引用的html對象嘍。

this的環境能夠隨着函數被賦值給不一樣的對象而改變!

下面是完整的例子:

 

<script type="text/javascript">

     function to_green(){

        this.style.color="green";

    }

    function init_page(){

    var example=document.getElementById("example");

        example.onclick=to_green;

   }

   window.onload=init_page;

</script>

<a href="#" id="example">點擊變綠</a>

提問者評價謝謝,解釋的很清楚參考資料: http://hi.baidu.com/tkocn/blog/item/7c66bd02f7395b084afb5150.html

 

來源: <http://zhidao.baidu.com/link?url=lchIZerOjLaDDbyzpJjGc_Z0PudWaKONxEdPD2TXsnRL9PrzG7K9K2urluQkL6QvyZZkjw6t4QwPQ-MwsnE9Ba>

 



相關文章
相關標籤/搜索