构造函数问题

 1 function MyObject(){
 2   // private variables and functions
 3   var privateVariable = 10;
 4   
 5   function privateFunction(){
 6     return false;
 7   }
 8   
 9   // privileged methods
10   this.publicMethod = function(){
11     privateVariable++;
12     return privateFunction();
13   };
14 }
15 
16 var temp = new MyObject();
17 
18 var test = Object.getOwnPropertyNames(temp);
19 
20 for(var i=0; i<test.length; i++)
21   console.log(test[i]);                    // publicMethod

  输出只有publicMethod,这说明构造函数中的privateVariable和privateFunction()都是私有的,通过构造函数产生的对象中只有publicMethod属性。  这两者的区别是什么?  区别就是在构造函数中,publicMethod前面有一个this。

原文地址:https://www.cnblogs.com/linxd/p/4512328.html