首页 > web前端 > js教程 > JavaScript中的this关键字介绍

JavaScript中的this关键字介绍

高洛峰
发布: 2016-11-26 09:55:15
原创
1060 人浏览过

JavaScript其实一门基于或者说是面向对象的语言,这样的话,this这个关键字,在类的内部就显得尤为重要,当

创建一个类的时候,如果希望下面new出来的每个类都拥有一些通用的变量或者其他的函数,这个this关键字这是最好

的方式。

当然,既然是面向对象的语言,必然存在访问权限的问题,这里也和this关键字息息相关。下面我们来演示一个例

子来说明一下这个类的访问权限的问题.

[javascript]
//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.2cto.com
    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(){}就是声明一个共有方法,在类的外部也是可以调用的。当然,以此

类推,直接声明的方法是私有的方法/

下面再看一个例子

[javascript]
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的值.


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板