私有变量和静态私有变量

javascript中的所有对象属性是公有的,不过在函数中定义的变量可以认为是私有的。

1.在构造函数中添加公有方法

    function CreateObj(){
      var privateVar = 0;
      function privateFun(){
        return false;
      }
      this.publicFun = function(){
        privateVar++;
        return privateFun();
      }
    }  

虽然创建了特权方法publicFun可以访问私有变量,但是弊端是每次调用构造函数都会重新创建变量和两个方法。

2.静态私有变量

   (function(){
      var privateVar = 0;
      function privateFun(){
        return false;
      }
      myObj=function(){};
      myObj.prototype.publicFun = function(){
        privateVar++;
        return privateFun();
      }
    })();  

在一个匿名函数中创建了myObj这个全局变量,创建的实例可以共享私有变量和函数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义函数的方式有两种:函数声明和函数表达式。 函数声明的一个重要特征就是函数声明提升,意思是在执行代码前会先读取函...
    oWSQo阅读 3,875评论 0 0
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,568评论 0 11
  • 定义函数的方式有两种:一种是函数声明,另一种是函数表达式(函数表达式有几种不同的语法形式)。(JavaScript...
    royluck阅读 2,454评论 0 0
  • 事情总是那么的莫名其妙,让我摸不着头脑。总是让我费劲心思去猜,才肯透漏只言片语。心情就跟霉雨季节的天气,上午阳光明...
    大桉树阅读 877评论 0 0
  • 我在日落的时候看过你 孤独而骄傲 ...
    若知非阅读 2,361评论 0 1