2010-03-05 63 views
0

我可以使用MooTools js框架创建匿名类(java术语)吗? 假设它应该看起来像:MooTools的匿名类

A = new Class({ 
    invoke: function() { 
    alert('class'); 
    } 
}); 

a = new A({ 
    invoke: function() { 
    this.parent(); 
    alert('instance'); 
    }, 
}); 

但我不希望身边修改构造函数接口来接受的附加属性。 是否有更舒适的方式来定义使用不超过一次的类?

回答

1

您只能在要使用的范围内定义该类,这意味着该类在该范围之外将不可用。例如,使用一个自动执行功能:

(function() { 

    var MyClass = new Class({ 
     invoke: function() { 
     alert('class'); 
     } 
    }); 

    var myObject = new MyClass({ 
     invoke: function() { 
     this.parent(); 
     alert('instance'); 
     } 
    }); 

})(); 

(我已经在你的代码固定的几个错误,包括宣布当MyClassmyObject,和一个额外的初始化,myObject省略var关键字)。