Heim  >  Artikel  >  Web-Frontend  >  JavaScript中的this关键字介绍与使用实例_javascript技巧

JavaScript中的this关键字介绍与使用实例_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:31:581027Durchsuche

当创建一个类的时候,如果希望下面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的值.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn