var Class = function(properties){ 
    var _class = function(){return (arguments[0] !== null && this.initialize &&       typeof(this.initialize) == 'function') ? this.initialize.apply(this, arguments) : this;}; 
    _class.prototype = properties; 
    return _class; 
}; 这个代码,作用貌似是创建一种通用的类模板。但是具体意思不懂啊。求大神们解析。谢谢了。

解决方案 »

  1.   


    追问以下,一般这个都是在后面会有这样的代码,var tt = new Class(object), var ttt = new tt();这样的话,为什么要new Class()啊,一样可以直接用 var tt = Class(object)啊求大神们点拨。
      

  2.   

    第一个问题:作用是根据参数传入的对象,返回一个以该对象为原型的构造函数,但多了点代码,感觉是自定义的继承函数,若基类按一定规则设计(所有初始化逻辑放initialize中而不是构造函数中),那么传入基类的原型链对象(先重写initialize方法),将生成一个继承了基类属性方法的构造函数。目测不是一个有用的函数,用作继承不是很方便,仅用作生成构造函数又显得多余。
    第二个: 你的写法是错的,Class返回的是函数,不是对象这个函数