What is the best way to write Java Script Class
本问题已经有最佳答案,请猛点这里访问。
从下面两种类型的javascript类创建(oops概念)中,哪一种是最佳的用法/实现?
方式1:
1 2 3 4 5 6 7 8 9 10 11 12 | var MyClassName = function(){ // private variables // private functions return { // public functions pubFunctionName1: function(){ }, pubFunctionName2: function(){ } } } |
用途:
1 2 | myClass = new MyClass(); myClass.pubFunctionName1(); |
方式2:
1 2 3 4 5 6 7 8 9 10 | function MyClass(){ //public variables and functions this.publicVariable =""; this.publicFunctionName3 = function(){ } // private functions function privateFunctionName3(){ } } |
用法:
1 2 | var myClass = new MyClass(); myClass.publicFunctionName3(); |
签出这本书
它有关于构造器的具体章节,非常有用。
简而言之,在你提出的两种方法中,你都会失去与EDCOX1×0的连接,所以你需要决定是否对你有必要。
另一个提议可能是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /* self-inited constructor */ var Cat = function () { if (!(this instanceof Cat)) { return new Cat(); } this.name = 'Tom'; }; Cat.prototype.meow = true; var persian = new Cat(); var cheshire = Cat(); console.log(persian.name); //"Tom" console.log(cheshire.name); //"Tom" console.log(persian.meow); // true console.log(cheshire.meow); // true |
这往往取决于你自己的品味和你想如何使用课堂……但几个月前,我问自己一个类似的问题,发现了一个有用的描述,其中解释了在JavaScript中定义类的不同方法。这也有助于向你澄清…