2013-07-07 22 views
0

说我有这样的事情增加公共方法的AMD函数返回之前

define(["jquery"], function($) {   
    return function() { 
     //public members(use this) 
     this.publicMember = "I'm a public member"; 

     //private members (use var) 
     var privateMember = "I'm a priavte member"; 


     //private method 
     function privateMethod() { 
      console.log('private function said: ' + privateMember); 
     }; 

     //privileged method 
     //can access private variables 
     this.privilegedMethod = function() { 
      console.log('privileged function said: ' + this.publicMember + ' and ' + privateMember); 
     }; 


    }; 
}); 

如何添加公共方法,返回给调用,使前确保我不会暴露什么全球范围?

???????.prototype.publicMethod= function() { 
    console.log('public function said: ' + this.publicMember); 
} 

回答

1
define(["jquery"], function($) {   
    var className = function() { 
     //public members(use this) 
     this.publicMember = "I'm a public member"; 

     //private members (use var) 
     var privateMember = "I'm a priavte member"; 


     //private method 
     function privateMethod() { 
      console.log('private function said: ' + privateMember); 
     }; 

     //privileged method 
     //can access private variables 
     this.privilegedMethod = function() { 
      console.log('privileged function said: ' + this.publicMember + ' and ' + privateMember); 
     }; 


    }; 
    className.prototype.publicMethod = function() {}; 
    return className; 
}); 
+0

啊当然欢呼声。 – jax

相关问题