我更喜欢将OOP用于目前正在从事的大型项目中。我需要用JavaScript创建几个类,但是,如果我没记错的话,至少有两种方法可以做到这一点。语法是什么,为什么要用这种方式呢?
我想避免使用第三方库-至少在一开始。 在寻找其他答案时,我找到了文章“ _[使用JavaScript进行面向对象的编程”,第I部分:继承文档JavaScript ,该文章讨论了JavaScript中的面向对象的编程。有更好的继承方法吗?
这是不使用任何外部库的方式:
// Define a class like this function Person(name, gender){ // Add object properties like this this.name = name; this.gender = gender; } // Add methods like this. All Person objects will be able to invoke this Person.prototype.speak = function(){ alert("Howdy, my name is" + this.name); }; // Instantiate new objects with 'new' var person = new Person("Bob", "M"); // Invoke methods like this person.speak(); // alerts "Howdy, my name is Bob"
现在,真正的答案要复杂得多。例如,JavaScript中没有类。JavaScript使用prototype基于的继承方案。
prototype
此外,还有许多流行的JavaScript库,它们具有自己的样式,它们近似于JavaScript中的类功能。您将至少要签出Prototype和jQuery。
确定其中哪一个是“最佳”是在Stack Overflow上发起一场神圣战争的好方法。如果您正着手进行一个较大的JavaScript大型项目,那么绝对值得学习流行的库并按自己的方式去做。我是一个原型人,但是StackOverflow似乎倾向于jQuery。
至于只有“一种方法”,而没有对外部库的任何依赖,我写的方式就差不多了。