开始学习 JavaScript 是很久以前的事情了。那时一直把 JavaScript 当纯粹的脚本语言用,所有写出来的东西都是全局的……

不知什么时候,了解到 JavaScript 其实是动态面向对象的。于是变开始了以面向对象方式写 JavaScript.

感觉起来,如果以面向对象的方式设计 JavaScript 至少有下面几个好处:

    大幅度减少参数传递。在复杂的 JavaScript 中,一个函数要使用的对象是很多的,如果把状态信息变为属性,则可以减少进行相关操作时的方法的参数传递。
    避免命名冲突。既然一部分数据是属于某个实例或者某个类的,那么命名冲突的概率就小很多。
    封装度提高。
    可读性增强。相关的方法在同一个类中,更加让人容易理解。而且如果写得好,代码可能和如 C#, Java 之类的相似,看起来也方便。
    可维护性增强。
    其他面向对象设计的优势……

Prototyp.js 和微软的 Ajax Extension Script Library 在面向对象的 JavaScript 编程方面可以说是做得最好的。尤其是微软,几乎把整个 .Net Framework 的常用功能都搬到了 JavaScript 中,C# 程序员写起来会很顺手。