Class
instance of a class - object
Member variables
Getters
Setters
Abstract Class
Interface
Inheritance
Access Modifiers
Constructors
我知道其中一些概念,但是正如我所说,我相信我在理解上有一些困难。如果有人能够指出一个真正的JavaScript大师试图在这里概括这些概念,我会非常高兴。
Class
instance of a class - object
Member variables
Getters
Setters
Abstract Class
Interface
Inheritance
Access Modifiers
Constructors
我知道其中一些概念,但是正如我所说,我相信我在理解上有一些困难。如果有人能够指出一个真正的JavaScript大师试图在这里概括这些概念,我会非常高兴。
道格拉斯·克罗克福德非常好地解释了如何模仿这些面向对象的特性。他的书籍《JavaScript高级程序设计》是我认为每个人都应该阅读的,它解释了如何充分利用JavaScript中常常令人困惑的特��。
请尝试克罗克福德的简短教程,通过闭包实现私有类方法和属性的基本方式。另外,这篇教程将向您展示如何实现经典继承。
我也曾经像你一样寻找知识,但不得不在各处搜集和获取。
stackoverflow上有大量关于这些主题的优秀帖子,还有MDN(Mozilla开发者网络)。我还建议查看流行库(如jquery)的源代码。请参见此源代码查看器:http://james.padolsey.com/jquery/
这是由伟大的John Resig制作的一个杰出的交互式教程:
http://ejohn.org/apps/learn/
以下是一些非常好的SO帖子,帮助我更好地理解JS:
如何“正确”创建JavaScript中的自定义对象?
JavaScript中的“new”关键字是什么?
为什么要使用JavaScript原型?
为什么需要设置原型构造函数?
使用Douglas Crockford的函数继承在Javascript中调用基本方法
帮助理解jQuery的jQuery.fn.init,为什么init在fn中
jQuery.fn是什么意思?
为什么JavaScript中的“this”分辨率如此特殊?
call和apply之间有什么区别?
动态函数调用(apply)
JavaScript数据格式化/漂亮的打印机
检查JavaScript对象中是否存在键?
以下是关于JavaScript怪异性以及你可能不知道的一些内容:
是否可以反射 Javascript 函数的参数?我曾经也遇到过你在尝试学习Javascript时所经历的相似的困惑。Douglas Crockford 的《Javascript语言精髓》以及他的网站 http://crockford.com/ 对我帮助极大。
我可以想到一些参考资料,可以回答这些问题,其中明确指出JavaScript是一种弱类型、动态语言,而Java是一种强类型、静态语言。我觉得这是你所寻求的直接类比。
对于列出的前五个项目中的许多常见问题,阅读Working with Objects部分的JavaScript Guide在Mozilla Developer Network上会有所启发。(类,类的实例-对象,成员变量,获取器,设置器)
我认为第二组项目在Douglas Crockford的this site中得到了很好的解释。他是O'Reilly书籍“Javascript: The Good parts”和JSLint代码工具的作者。(抽象类、接口、继承、访问修饰符、构造函数) Crockford在一篇页面中直接比较Java和JavaScript,描述了JavaScript不仅支持经典继承,还支持其他代码重用模式。
如果您想了解JavaScript变量作用域的相关信息,请查看此文章。 它详细解释了为对象原型创建公共,受保护和私有变量的基础知识。 http://www.anzaan.com/2009/05/javascript-variable-scope-private-protected-and-public/