什么是好的 JavaScript OOP 资源? [关闭]

Posted

技术标签:

【中文标题】什么是好的 JavaScript OOP 资源? [关闭]【英文标题】:What are good JavaScript OOP resources? [closed] 【发布时间】:2010-12-26 21:04:27 【问题描述】:

javascript 是一种轻量级且功能强大的语言,但它经常被误解且难以学习(尤其是关于它的面向对象编程)。

学习 JavaScript OOP 的好材料(博客、截屏视频和书籍)有哪些?主题可以是任何东西,但我们暂时不包括浏览器、AJAX 和库。

另外,您是如何学习 JavaScript 中的函数式编程、闭包、对象、继承和设计模式的?就我个人而言,我希望看到更多代码示例,因为我上面提到的一些书籍将示例保持在最低限度。

(编辑:由于这篇文章现在是社区工作,请帮助维护和开发以下资源列表!)

书籍

JavaScript: The Good Parts Douglas Crockfond,这是大多数 Javascripters 推荐的关于 Stack Overflow 的书。我观察到,人们通过这本书提高了他们在 java 脚本方面的技能。访问他的网站:crockford.com 了解更多信息。 Object-Oriented JavaScript: Create scalable, reusable high-quality JavaScript applications and libraries 由 Stoyan Stefanov 撰写,涉及许多 OOP 主题,例如对象、原型、继承和一些模式。 Pro JavaScript Design Patterns,作者 Ross Harmess 和 Dustin Diaz,讨论著名设计模式在 JavaScript 中的应用。

视频

"Advanced JavaScript" videos 道格拉斯·克罗克福德。 Yahoo! Developer Network 提供了许多其他有趣的视频。 The Definitive Guide to Object-Oriented JavaScript James Shore(2013 年 7 月)。

堆栈溢出

A Stack Overflow discussion on JavaScript closure A Stack Overflow discussion on What exactly does “closure” refer to in JavaScript? A Stack Overflow discussion on Prototypal vs Functional OOP in JavaScript

其他

Introduction to Object-Oriented JavaScript - Mozilla 开发人员 JavaScript Closures for Dummies JavaScript Closures JavaScript Closures 101 Private Members in JavaScript Douglas Crockfond Classical Inheritance in JavaScript by Douglas Crockfond Prototypal Inheritance in JavaScript by Douglas Crockfond JavaScript, time to grok closures Mozilla developer network

【问题讨论】:

这不应该是一个社区维基吗? 【参考方案1】:

您可以在网上冲浪的大部分资源。你可以在谷歌上看到链接。使用 oops javascript 代码,开发人员无需重写代码,而是可以创建小块代码。我列出了我知道的资源 -

https://www.quora.com/What-are-some-good-resources-for-JavaScript-OOP

http://www.c-sharpcorner.com/topics/javascript-oop

https://addyosmani.com/resources/essentialjsdesignpatterns/book/

【讨论】:

【参考方案2】:

我发现这篇博文是对原型最清晰的解释:https://javascriptweblog.wordpress.com/2010/06/07/understanding-javascript-prototypes/

我写了一个关于 JavaScript 中面向对象的博客系列。你可以在这里访问它:https://rahuldotout.wordpress.com/2011/06/13/javascript-a-different-beast-part-7-inheritance-without-classes/

【讨论】:

【参考方案3】:

最近的Crockford on JavaScript 视频讲座值得观看 - 第三幕:终极函数涵盖 JavaScript 中的 OOP。

【讨论】:

【参考方案4】:

与The Good Parts 一样,Douglas Crockford 的website 也有很多关于 JavaScript 和 OOP 的好文章,例如Prototypal Inheritance、Classical Inheritance in JavaScript 等。

【讨论】:

【参考方案5】:

除了之前对 Crockford 工作的引用,我建议您阅读这篇关于 JS 中函数式继承模式与经典继承模式对比的观点:

Inheritance Patterns in JavaScript by Michael Bolin

【讨论】:

【参考方案6】:

您可以在jQuery 等主流库中看到优秀的 Javascript 代码示例。仅仅阅读它的源代码,我就学到了很多东西。没有什么比阅读在数百万个网站上运行并关注最佳实践的资源更好的了。

【讨论】:

jQuery 比 OOP 更实用,不是吗?但是有一些很好的 OOP 框架可供参考(Ext、Dojo、YUI),我也建议这样做。没有人比那些真正让它在当今的浏览器中工作的人更值得学习了。 我知道的库很多。是否可以分辨出哪个库更喜欢哪种策略(即 Crockford 定义了三个 a)伪经典、原型和功能 OOP)?

以上是关于什么是好的 JavaScript OOP 资源? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

什么是好的设计?

用于包装数据库行子类的 OOP 方法

什么是好的思维方式

什么是好的 Python 格式样式

什么是好的技术氛围?

什么是好的哈希函数?