【问题标题】:intermediate in javascript looking for a book to learning object oriented programming [closed]javascript中级正在寻找一本书来学习面向对象编程[关闭]
【发布时间】:2009-11-12 15:54:40
【问题描述】:

我是一名中级 JavaScript 程序员,我有兴趣扩展我在面向对象编程(尤其是面向对象 JavaScript)方面的知识。

比起浏览分散的网络资源,我更喜欢一本书,有没有人知道哪本书最适合入门?

谢谢

【问题讨论】:

    标签: javascript jquery oop


    【解决方案1】:

    最近,当我尝试学习 JavaScript 的基于原型的系统时,Packt 发布的Object-Oriented JavaScript 对我来说是一个非常宝贵的资源,而不会让我的传统 OO 知识(Java 等)妨碍并使其更加混乱。

    对于稍微不那么深入的治疗,我还推荐Pro JavaScript Design Patterns 和John Resig 的Pro JavaScript Techniques。两者都有关于该主题的章节。

    【讨论】:

    • +1 - 这是最好的书之一
    【解决方案2】:

    区分经典 OOP 和 OO JavaScript 很重要。

    虽然 Java、C# 和 Python 等一些语言非常适合学习类、对象、继承和多态等 OO 概念,但 JavaScript 不是这些语言之一。

    JavaScript 可以具有面向对象的功能,但需要使用原型。由于复杂的数据结构,它变得更加复杂。

    我认为您应该准确定义您所关注的内容。如果是学习面向对象的概念,你应该先用经典的OO语言来学习基本概念,然后再继续学习OOJS。

    【讨论】:

      【解决方案3】:

      Refactoring: Improving the Design of Existing Code by Martin Fowler 虽然示例是用 Java 给出的,但其背后的原理适用于包括 JavaScript 在内的大多数 OO 语言。

      【讨论】:

        【解决方案4】:

        绝对值得一读:JavaScript: The Good Parts by Douglas Crockford。

        第 5 章“继承”涵盖了不同类型的面向对象:

        • 伪经典,通过使用新方法扩展原型对象来模拟类层次结构
        • 原型,没有类,使用原型对象创建具有通用功能的新实例,然后将新功能直接附加到这些新对象
        • 功能性,使用构造函数创建私有作用域并返回一个新对象,该对象将一组对私有变量具有特权访问权限的方法分组

        【讨论】:

        • 您的链接转到亚马逊页面的重构:改进现有代码的设计,而 Crockford 并未列为作者之一。
        • 糟糕。对于那个很抱歉。我编辑了答案以修复链接。
        • 这是一本好书,但我发现有些例子太复杂了。
        猜你喜欢
        • 2013-01-24
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多