JavaScript中的this關鍵字介紹與使用執行個體

來源:互聯網
上載者:User

當建立一個類的時候,如果希望下面new出來的每個類都擁有一些通用的變數或者其他的函數,這個this關鍵字這是最好的方式。

當然,既然是物件導向的語言,必然存在存取權限的問題,這裡也和this關鍵字息息相關。下面我們來示範一個例子來說明一下這個類的存取權限的問題.

複製代碼 代碼如下://Person類 
   function Person(){
    var name="abc";//var聲明的都是類內部的私人變數,外部無法訪問 
    var age = 20;

    this.name2="edg";//this聲明的是公開變數,外部可以訪問 

    this.show=function(){//shou方法是公開的方法,可以被外部存取,而且可以訪問類內部私人方法 
    window.alert(name);
    }

    function show2(){//shouw2方法是類內部的私人方法,不能被外部存取 

    }
}

var p1 = new Person();
document.writeln(p1.name2+p1.name);
p1.show();
 //Person類 www.jb51.net
    function Person(){
  var name="abc";//var聲明的都是類內部的私人變數,外部無法訪問
  var age = 20;

  this.name2="edg";//this聲明的是公開變數,外部可以訪問

  this.show=function(){//shou方法是公開的方法,可以被外部存取,而且可以訪問類內部私人方法
  window.alert(name);
  }

  function show2(){//shouw2方法是類內部的私人方法,不能被外部存取

  }
 }

 var p1 = new Person();
 document.writeln(p1.name2+p1.name);
 p1.show();

這個Person其實就是一個類,類名就是Person,其中聲明的變數,var開頭的都是私人變數,只能在類的內部實現訪

問,而通過this關鍵字聲明的變數是公有的變數,可以在外部存取。當然,只需要公開一個方法,就可以實現外部訪

問類內部的私人變數,這個this.show=function(){}就是聲明一個共有方法,在類的外部也是可以調用的。當然,以此

類推,直接聲明的方法是私人的方法/

下面再看一個例子

複製代碼 代碼如下:function test(){
    alert(this.v);
}
var v = 902;
window.test();
 function test(){
  alert(this.v);
 }
 var v = 902;
 window.test();

代碼很簡短,這個的意思是,誰調用的這個方法,這個this就是指的那個對象,比如,window對象調用的test方法,

所以在test方法內部,這個this,v就是指在window也就是外部全域是否定義了一個v變數,通過查看可以知道,定義了

一個var v = 902;所以這個方法調用的其實就是v的值.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.