Javascript Patterns--读书笔记6 (Code Reuse)
2012-09-25 21:36
295 查看
提到代码重用,我们往往会想到inherits,当然还有其它的方式 ,我们还可以通过compoite来达到代码重用的目的。不过,当我们在试图实现代码重用的时候,请记住“Prefer object composition to class inheritance"
Classical Versus Modern Inheritance Patterns
在JS中什么是Classical继承呢,这个命名方式不是通用的。所表达的意思其实就是别的语言中的类继承。因为在JS中不存在类这个概念,我们可以随时改变它的属性和方法,而不必像其他语言那样麻烦。
在JS中,有constructor,还有可以用new来产生一个新的对象实例。我们首先定义一个constructor function,然后再new一下,是不是和JAVA, C#中的用类来生成object非常类似。所以这种方式就称为"classical" inherits, 而modern的继承方式就是指,我们不需要通过这种方式来实现的代码重用。
继承的目的就是当我们在实现一个子类对象的时候,我们希望这个子类对象可以继承父类的所有属性和方法。
View Code
通过copy属性来完成继承
View Code
Classical Versus Modern Inheritance Patterns
在JS中什么是Classical继承呢,这个命名方式不是通用的。所表达的意思其实就是别的语言中的类继承。因为在JS中不存在类这个概念,我们可以随时改变它的属性和方法,而不必像其他语言那样麻烦。
在JS中,有constructor,还有可以用new来产生一个新的对象实例。我们首先定义一个constructor function,然后再new一下,是不是和JAVA, C#中的用类来生成object非常类似。所以这种方式就称为"classical" inherits, 而modern的继承方式就是指,我们不需要通过这种方式来实现的代码重用。
继承的目的就是当我们在实现一个子类对象的时候,我们希望这个子类对象可以继承父类的所有属性和方法。
View Code
通过copy属性来完成继承
View Code
function extend(parent, child) { var i; child = child || {}; for(i in parent) { child[i] = parent[i]; } } var dad = {name: "Adam"}; var kid = extend(dad); kid.name;//"Adam"
相关文章推荐
- Javascript Patterns--读书笔记10 (Decorator)
- Javascript Patterns--读书笔记7 (singleton)
- Javascript Patterns--读书笔记8 (Factory)
- Javascript Patterns--读书笔记9 (Iterator)
- Javascript Patterns--读书笔记10 (Strategy)
- Javascript Patterns--读书笔记3 ( Literal and Constructors )
- <你不知道的JavaScript>读书笔记
- Refactoring to Patterns 读书笔记(四)
- 《编写可维护的 JavaScript》读书笔记第19章:自动化测试
- 读书笔记(javascript 高级程序设计)
- 读书笔记(高性能javascript)(一)
- 【JavaScript高级程序设计】读书笔记之二 —— 理解对象的原型、继承
- Javascript基础第三课时【读书笔记】
- 【读书笔记】-- 你不知道的JavaScript
- JavaScript Patterns 6.5 Inheritance by Copying Properties
- 《javascript高级程序设计》读书笔记(二)javascript基本概念
- JS权威指南 读书笔记 第一章 JavaScript概述
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3
- JavaScript Patterns 2.2 Minimizing Globals
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3