有没有人能指导我一些真实世界中的面向对象javascript?我正在从几本书中学习javascript的面向对象编程,但这些书中给出的所有示例都归结为dog对象继承自animal原型或类似情况。我真的想看到更实质性的内容。
我已经查看了jQuery和类似库(base,prototype),但我认为它们是冗长的示例。我正在寻找一个脚本,可以清楚地看到继承(经典或原型)的使用。
有没有人能指导我一些真实世界中的面向对象javascript?我正在从几本书中学习javascript的面向对象编程,但这些书中给出的所有示例都归结为dog对象继承自animal原型或类似情况。我真的想看到更实质性的内容。
我已经查看了jQuery和类似库(base,prototype),但我认为它们是冗长的示例。我正在寻找一个脚本,可以清楚地看到继承(经典或原型)的使用。
在我看来,JavaScript的原型机制非常有用,而传统的面向对象编程并不是必需的。
以一个实际的例子来说,考虑Google Maps v3 API。我们来实现一个新的OverlayView:
// 实现一个OverlayView //
MyOverlay.prototype = new google.maps.OverlayView();
// “构造函数” // function MyOverlay(position, node, map) { // 设置参数 // this.position = position; this.node = node; this.map = map; this.setMap(this.map); }
// 必须的onAdd函数 // MyOverlay.prototype.onAdd = function() { // 观察从OverlayView继承来的getPanes函数 // var panes = this.getPanes(); // bla bla // }
// 必须的draw函数 // MyOverlay.prototype.draw = function() { // bla bla // } // .. 其他函数 //
// 现在实例化一个对象 // var instance = new MyOverlay(position, node, map);
如果这对你不起作用,许多外部库(例如Prototype、Dojo、jQuery等)都提供了传统OOP的很好的解决方案。