摘要:
说明:在javascript中,由于缺乏传统面向对象语言的继承机制,类与继承是一个比较复杂的概念。因此本段解析中,不就javascript中的原型、类、继承、封装进行深入探讨。需要深入了解的可以去参考大牛的文章,另推荐几本书《javascript高级程序设计》、《javascript语言精髓与编程实践》和《javascript设计模式》,多读几遍就会对javascript的原型有深入的了解。所以本文只就Prototype远源码涉及到的部分进行解析。正文:到Class这一步,需要说一下前面没有说到的单体模式,通过前面的几个部分的观察,会发现整个Prototype部分,大部分对象的方法扩展采用的都 阅读全文
摘要:
前面分析了Class的构造部分,现在,需求变动啦(又变动啦!),现在需要一个Teacher类,同样有say方法,但是除此之外还有teach方法。我们再重复定义say就不划算了,因为Person有现成的,于是就牵扯到继承的问题,我要让Teacher类继承Person的方法。先复习一下JS常见继承的基本原理。假定现在有Person和Teacher类,让Teacher继承Person的方法:Teacher.prototype = new Person();这个方法的缺点是Person有可能很庞大,许多初始化操作是我们不必要的,我们只需要Person.prototype的方法而已。因此用一个Obj作为 阅读全文