JavaScript-构造函数模式

今天来聊聊JavaScript中的构造函数模式

严格来说JavaScript中没有私有成员这个概念,但是有私有变量个概念,任何在函数中定义的变量都可以看成是私有变量,在函数的外部不能直接访问,这些私有变量包括:函数参数,局部变量,以及函数内部定义的函数

例如:

 1 function myFunc(){
 2     //私有变量和私有函数
 3     var num=10;
 4     function innerFunc(){
 5         return num;
 6     }
 7     //特权方法
 8     this.outerFunc=function(){
 9         num++;
10         return innerFunc();
11     }
12 }
13 
14 var one=new myFunc();
15 one.outerFunc();//11
16 var two=new myFunc();
17 two.outerFunc();//11
18 two.outerFunc();//12

里面的特权方法通过闭包可以访问里面的私有变量,将这个特权方法暴露出来,需要通过构造函数的来达到目的,并且每个实例都会创建一组新的方法

 

你可能感兴趣的:(JavaScript-构造函数模式)