您的位置:首页 > Web前端 > JavaScript

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

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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: