上篇文章实现了“使用工厂模式和闭包实现定时器封装”,
http://www.cnblogs.com/lightsong/p/3703045.html
本文记录以构造函数和原型法对其重新实现。
构造函数
创建对象,包括定义 var obj = {}、 工厂创建、 和 构造函数。
工厂创建即在创建函数中, 定义对象, 并给对象赋属性和方法, 最后return出此对象。
构造函数,类似Java中类的构造函数, 函数中, 使用this.xxx 来定义属性和方法,此处的this表示实例化时候的对象,
实例化语句 var obj = new constructor(args)。
构造函数改造出定时器
直接上代码,即在所有的属性和方法前添加this., 实现的功能与工厂一致:
构造函数中定义对象的方法, 为每个对象独有, 实际上此方法应该属于每个对象共有。
一来浪费内存,二来不符合对象行为抽象的逻辑。此问题就需要原型方法解决。
原型方法
原型 prototype,就是定义构造函数中,对象公共方法的手段,
例如原型为 function constructor(){}; constructor.prototype.hello = function(){console.log("hello")}
则任何实例化的对象 var a = new constructor(); 都可以调用 a.hello();
原型方法优化构造函数实现的定时器
直接上代码,功能与构造函数一致: