John Resig的javascript简单继承模型
如果说当年Java曾经梦想统一客户端平台,那么无心插柳柳成荫,如今Javascript却成了真正跨平台的语言,JS不仅是一个工具,已经成为一个很强大甚至超过Java的客户端程序。
Why I'm Becoming a JavaScript Convert认为:
1.JS的闭包Closures 是非常令人惊讶得好(使用Java委托实现面向函数式语言中的map/filter)。
2.非常好的动态多态。
3.使用jQuery或Prototype.js等JS库可以实现跨浏览器
4.JavaScript是一个优雅语言,不只是玩具。
Js在OO面向对象方面也能出乎意料的好,John Resig的简单JS继承模型Simple JavaScript Inheritance就展示了将多态封装到函数中,并且具有类似类继承的对象行为方法。
我们知道,只有具备属性和方法行为一起封装,才能具备OO特性,才能实现一些基本OO原则,比如SOLID原则等。
下面我们看看John Resig是如何赋予JS简单可读的对象类特征,John Resig是一位写了很多JS书籍的作者,曾经在著名Prototype.js(本站采取的JS库) base2等工作。
下面是简单继承模型,非常松耦合,其中NinJa是继承Person的子类:
|
Why I'm Becoming a JavaScript Convert一文利用上述继承模型,使用JS实现了俄罗斯方块程序,可参见原文,看到这些优美的JS代码,你就可能明白,JavaFX真的也无法扭转颓势。
相关参考:
JavaScript & HTML5 - Brave New World
[该贴被admin于2010-04-27 10:43修改过]