在JS编程中,我们可以这样定义一个对象
function Object(){ this.property = null; } 但是要实现构造函数然后初始化对象怎么实现呢?一般情况下,大家可能会这样实现 function Object(property){ this.property = property; } 但是如果在需要复杂的构造函数时,这样实现就不会很直观 function Object(property){ this.property = null; { this.property = property + 5; } } 今天看开源框架Prototype.js,里面的Class类有一个不错的方法 var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } 导入Class类后,我们可以通过Class.create()创建对象,并且定义该对象的initialize方法代替实现构造方法; var Object = Class.create(); Ocject.property = null; Object.prototype = { initialize : { this.property = this.property + 5; } } 这样做可能会有一点不直观的就是,对象的变量都必须在Class.create()再进行赋值定义,如上面例子的Ocject.property = null,其实JS中可以不用为对象定义变量而直接使用,上面的例子我们就可以去掉Ocject.property = null,但是这样会很不直观,因为别人都不知道你定义的一个对象都有哪些属性; |
JS面向对象编程之构造函数
最新推荐文章于 2022-06-01 13:05:27 发布