JavaScript 面向对象的之私有成员和公开成员

  上两节讲了 JavaScript 面向对象之命名空间javascript 面向对象的JavaScript类,大家可以先看上面的再继续往下看。

  其实很简单,废话少说,看了下面的代码及注释相信你就会一目了然!

  

复制代码 代码如下:

  //声明类,就是一个方法,其实在JavaScript中,命名空间、类、成员.... 一切皆对象

  MyClass =function(){

  var _this=this;

  //私有变量

  var aa="11";

  //公开变量

  this.bb="22";

  //私有方法

  function fun1(){

  alert(aa);

  alert(_this.bb);

  }

  //私有方法

  var fun2=function(){

  alert(aa);

  alert(_this.bb);

  }

  //公开方法

  this.fun3=function(){

  alert(aa);

  alert(_this.bb);

  }

  }

  //测试如下:

  var mc=new MyClass();

  mc.aa="AA";//错误

  mc.bb="BB";//正确

  mc.fun1();//错误

  mc.fun2();//错误

  mc.fun3();//正确

  一言以蔽之:在类的内部

  用 var 关键字声明的变量或方法是私有的;

  用function 关键字声明的方法是私有的;

  用this关键字声明的变量或方法是公开的。

  以上说的都是针对于实例类而言的,而对于静态类那就更简单了,JavaScript静态类其实就是一个json对象,所以的它的所有成员都是公开的,都是对外可见的!