笔记-[面向对象]-JS基于面向对象编程-[2]

下面是一个类定义私有属性的例子,和如何在类外部调用类内容的私有属性,

<script type="text/javascript">
var people=function(name,work,address){
  var marry=1;//定义一个私有属性 marry  私有属性和私有方法在外部不可以直接调用访问
  this.name=name;
  this.work=work;
  this.address=address;
  this.calls=function(){
    alert("我的工作是:"+work);
  }
  this.marry=function(){//公开方法访问私有属性
    alert(marry);
  }
};
  var wt=new people('wt','web','gd');
  //wt.calls();调用该对象类函数的分开方法
  people.prototype.gender='man';

  /*

    定义一个公开属性;prototype意思是原型;

    原型的作用:因为在对象的属性和方法调用中,如果有多个对象同时调用一个公共的属性和公共的方法,因此这些对象都会在内存中占用自己的一个内存空间

    同一样的东西却在内存中存在很多份,这是非常浪费内存资源的,因此,原型就可以有所有的对象同时指向内存中的同样东西共同的地址空间,提高性能,节约资源

    如同上面的poeple.prototype.gender='man';方法也是如此定义即好。

  */

  
  //alert(wt.marry);访问私有属性返回undefine;
  wt.marry();//调用公开方法访问类内部私有属性
</script>

原文地址:https://www.cnblogs.com/hellome/p/3768389.html