[code=javascript]var Class = function(){ var klass = function(){
this.init.apply(this, arguments);
};

klass.prototype.init = function(){};

return klass;

};

var Person = new Class;Person.prototype.init = function(){
// 

解决方案 »

  1.   

    var Class = function(){ var klass = function(){
    this.init.apply(this, arguments);
    };

    klass.prototype.init = function(){};

    return klass;

    };

    var Person = new Class;Person.prototype.init = function(){
    // 
      

  2.   


    var Class = function(){//声明Class变量,指向一个function
        var klass = function(){//声明klass,指向一个function
            this.init.apply(this, arguments);//klass内程序段
        };
        klass.prototype.init = function(){};//给klass原型扩充init方法
        return klass;//Class指向是方法,返回的是klass
    };
    var Person = new Class;//new 一个Class,因为Class有return,并且指向klass,所以Persion就是klass(这里带括号与不带括号一个效果,没括号浏览器会自动补全)
    Person.prototype.init = function(){}//给Person原型扩充方法init,这里会覆盖上面的klass.prototype.init = function(){};
      

  3.   

    从字面上解释,我也能看懂,可是他的原理是什么呢,this.init.apply(this, arguments)这一句的作用是什么?没看懂