首頁  >  文章  >  web前端  >  JavaScript中的this關鍵字介紹

JavaScript中的this關鍵字介紹

高洛峰
高洛峰原創
2016-11-26 09:55:15992瀏覽

JavaScript其實一門基於或者說是物件導向的語言,這樣的話,this這個關鍵字,在類別的內部就顯得尤為重要,當

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

的方式。

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

子來說明這個類別的存取權限的問題.

[javascript]
//Person類  
   function Person(){ 
    var name="abc";/var){ 
    var name="abc";是類別內部的私人變量,外部無法存取  
    var age = 20; 
     
    this.name2="edg";//this shou方法是公開的方法,可以外部訪問,而且可以訪問類別內部私有方法  
    window.alert(name); 
    } 
     
    } 
     
    } 
     訪問  
         
    } 

 
var p1 = 新創🠎 .2cto.com
    function Person (){
  var name="abc";//var聲明的都是類別內部的私人變量,外部無法存取
  var age = 20;
  
  this.name2="edg";//this聲明的是公開變量,外部可以存取
  
  this.show=function(){//shou方法是公開的方法,可以外部訪問,而且可以訪問類內部私有方法
  window.alert(name); (){//shouw2方法是類別內部的私人方法,不能外部存取
   
  }
 }

 var p1 = new Person();
 document.writeln(p1.name2+1Person. show();
這個Person其實就是一個類,類名就是Person,其中聲明的變量,var開頭的都是私有變量,只能在類的內部實現訪問

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

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

類推,直接宣告的方法是私人的方法/

下面再看一個例子

[javascript]

function test(){ 

    alert(this.v); 

} v. ; 

window.test(); 

 function test(){
  alert(this.v);
 }
 var v = 902;
 window.test();
 var v = 902;
 window.test();
 var v = 902;
 window.test();
 var v = 902;
 window.test();
程式碼很短,這個的意思是這個方法,這個this就是指的那個對象,比如,window對象調用的test方法,

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

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


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn