【问题标题】:Object Oriented Javascript面向对象的Javascript
【发布时间】:2010-10-22 11:59:33
【问题描述】:

在编程过程中,我们会遇到大型 javascript 文件,这些文件是开源的并以面向对象的方式(如 JQuery)编写。

如果我们需要修改这些文件,我们必须对成员和流程有基本的了解。如果我们有多个文件,那么任务会更加困难。

我从哪里开始了解这个流程??

【问题讨论】:

    标签: javascript


    【解决方案1】:

    我会做两件事:

    1. 阅读。如果有文档文件,请阅读它们。如果有 cmets,请阅读那些。如果这些都对您没有帮助,请转到源代码并阅读。

    2. 当你谈论开源 Javascript 时,我假设你的意思是这个 JS 被收集到某种项目中;所有客户端 JS 都是开源的:P。在这种情况下,作者可能愿意告诉你他们的代码。在项目页面上找到他们的电子邮件,并要求他们为您提供代码的高级概述,以便您可以开始阅读并自己理解它。他们可能不愿意在整个过程中牵着你的手,但以此为起点可能会有所帮助。

    【讨论】:

    • “source-available”(您可以阅读源代码)和开源(在opensource.org/licenses/alphabetical 列出的符合 OSD 的许可证下)之间存在差异。此外,声称像 Gmail 这样的高度缩小/混淆的代码实际上甚至可以提供源代码,这有点荒谬。
    • 马修,我觉得你有点挑剔。这不是我回答的重点。
    【解决方案2】:

    我同意 allyourcode 没有魔术。您必须阅读代码并阅读文档。如果文档不好,也许你应该考虑使用不同的框架。

    【讨论】:

      【解决方案3】:

      首先我认为你要了解JavaScript面向对象是如何工作的,JavaScript OO是Prototype-based,其中类是不存在的,行为重用是通过原型实现的。

      我发现,对于那些一直在使用传统的基于类的面向对象语言(如 C++、C#、Java 等)的程序员来说,一开始很难理解这一点。

      推荐文章:

      【讨论】:

        【解决方案4】:

        了解传统 OO 和 Javascript 的 Prototype 模型之间的区别是一个好的开始。 (Crockford 有一些 articless 为 Javascript 实现了传统的 OO 以对比行为。)

        【讨论】:

          【解决方案5】:

          我有一份

          和

          现在坐在我的桌子上。顺便说一句,这是 Douglas Crockford 认为好的仅有的两本 Javascript 书籍;)

          他们会教你 Javascript 的工作原理,特别是它的对象模型与大多数(但不是全部)其他面向对象语言的不同之处。

          除此之外,请查看所有the articles on Crockford's website,正如其他答案中已经提到的那样。

          【讨论】:

            猜你喜欢
            • 2011-08-04
            • 2011-03-13
            • 2014-07-08
            • 2010-09-11
            • 1970-01-01
            • 2014-02-10
            • 2010-10-01
            • 1970-01-01
            • 2015-12-17
            相关资源
            最近更新 更多