[b]$.Class([name,] [classProps,] [prototypeProps])[/b]
这个我理解,相当于我们写的java class. class里有它的属性和方法。
[b]name [/b]of the class which can be used for introspection,
[b]classProperties [/b]that are attached directly to the constructor, and
instance [b]prototypeProperties[/b].
例如:steal('jquery/class', function(){
$.Class("Todo",{
init : function(){},
author : function(){ ... },
coordinates : function(){ ... },
allowedToEdit: function(account) {
return true;
}
});
});
"Todo"是这个类名称,这个类里有init(), author(), allowedToEdit(account) 方法。
当然这个Class和Java Class一样,也可以继承,
例如:
steal('jquery/class', function(){
$.Class("Todo",{
init : function(){},
author : function(){ ... },
coordinates : function(){ ... },
allowedToEdit: function(account) {
return true;
}
});
[b]Todo('PrivateTodo',{
allowedToEdit: function(account) {
return account.owns(this);
}
})[/b]
});
这个PrivateTodo继承了Todo class, 不过修改了allowedToEdit(account)方法。
如果想要用到基类中的方法,可以这样写:_super
var SecureNote = Todo({
allowedToEdit: function(account) {
return this._super(account) &&
this.isSecure();
}
})
当一个class的构造函数被调用时,会调用init()方法。
例如:
$.Class('Todo',{
init : function(text) {
this.text = text
},
read : function(){
console.log(this.text);
}
})
var todo = new Todo("Hello World");
todo.read() //--> 打印出:Hello World
在调用init() 发放之前,会先调用setup方法。
setup can be used to change (or normalize) the arguments passed to init.
这个我理解,相当于我们写的java class. class里有它的属性和方法。
[b]name [/b]of the class which can be used for introspection,
[b]classProperties [/b]that are attached directly to the constructor, and
instance [b]prototypeProperties[/b].
例如:steal('jquery/class', function(){
$.Class("Todo",{
init : function(){},
author : function(){ ... },
coordinates : function(){ ... },
allowedToEdit: function(account) {
return true;
}
});
});
"Todo"是这个类名称,这个类里有init(), author(), allowedToEdit(account) 方法。
当然这个Class和Java Class一样,也可以继承,
例如:
steal('jquery/class', function(){
$.Class("Todo",{
init : function(){},
author : function(){ ... },
coordinates : function(){ ... },
allowedToEdit: function(account) {
return true;
}
});
[b]Todo('PrivateTodo',{
allowedToEdit: function(account) {
return account.owns(this);
}
})[/b]
});
这个PrivateTodo继承了Todo class, 不过修改了allowedToEdit(account)方法。
如果想要用到基类中的方法,可以这样写:_super
var SecureNote = Todo({
allowedToEdit: function(account) {
return this._super(account) &&
this.isSecure();
}
})
当一个class的构造函数被调用时,会调用init()方法。
例如:
$.Class('Todo',{
init : function(text) {
this.text = text
},
read : function(){
console.log(this.text);
}
})
var todo = new Todo("Hello World");
todo.read() //--> 打印出:Hello World
在调用init() 发放之前,会先调用setup方法。
setup can be used to change (or normalize) the arguments passed to init.