JavaScript原型链(Prototype)的设计思想
对于Java语言开发者来说,“对象继承、父类子类、类和实例”根深蒂固,理解Javascript语言的继承机制,难免会“转不过弯来”。阅读和引用了一些大师们的文章,自我总结一下Javascript为什么设计成“原型链”的模式? 首先从诞生说起,1994年网景公司(Netscape)发布了Navigator浏览器0.9版,为了让 浏览器可以与网页互动 ,工程师 Brendan Eich 负责开发这种语言,即最初的Javascript。C++是当时最流行的语言,而Java语言也开始风生水起,因此设计者 Brendan Eich 受到了极大的影响:“ Javascript里面所有的数据类型都是对象(object) ”!接下来,如何把对象连接起来就要考虑“继承”了,可能是 Brendan Eich 考虑到不想把javascript搞得那么复杂(满足基本交互应用即可,或者为了降低初学者难度),或者认为不引入“Class”依然可以设计出更巧妙的模式来,总之,他没有设计“类Class”的概念。 还是从面向对象的思想来设计JavaScript语言。Java里从原型对象生成一个实例对象:Animal dog = new Animal();因而 Brendan Eich 使用了new关键字;接下来java里new时会调用“构造函数constructor”,在Javascript里是这样设计的