当前位置:首页>>网络编程>>xml教程>>正文

AJAX中JavaScript类的三种成员

文章出处: 作者: 发布时间:2006-06-19 浏览次数:285
  实现类的公有成员

  前面定义的任何类成员都属于公有成员的范畴,该类的任何实例都对外公开这些属性和方法。

  实现类的私有成员

  私有成员即在类的内部实现中可以共享的成员,不对外公开。JavaScript中并没有特殊的机制来定义私有成员,但可以用一些技巧来实现这个功能。

  这个技巧主要是通过变量的作用域性质来实现的,在JavaScript中,一个函数内部定义的变量称为局部变量,该变量不能够被此函数外的程序所访问,却可以被函数内部定义的嵌套函数所访问。在实现私有成员的过程中,正是利用了这一性质。

  前面提到,在类的构造函数中可以为类添加成员,通过这种方式定义的类成员,实际上共享了在构造函数内部定义的局部变量,这些变量就可以看作类的私有成员,例如:

<script language="JavaScript" type="text/javascript">
<!--
function class1(){
 var pp=" this is a private property"; //私有属性成员pp
 function pm(){ //私有方法成员pm,显示pp的值
  alert(pp);
 }
 this.method1=function(){
  //在公有成员中改变私有属性的值
  pp="pp has been changed";
 }
 this.method2=function(){
  pm(); //在公有成员中调用私有方法
 }
}
var obj1=new class1();
obj1.method1();  //调用公有方法method1
obj1.method2();  //调用公有方法method2
//-->
</script>
Google