《dojo 边学边用》(05),委托和继承 ,(dojo.delegate 以及dojo.provide 和 dojo.declare)

委托和继承
dojo.delegate 和 dojo.declare 

 

 

 

 

 

 

dojo.declare

 

dojo.declare方法提供了一种处理类的基本能力,理解这种能力非常重要。
因为Dijit在这种能力基础上衍生出了一种创建部件的灵活模式,该模式能够自动完成部件创建过程中的所有细节。

dojo.declare方法的API

  
dojo.declare( /* String */ className,
/* Function | Function[] */ superclass,
/* Object */ props )

提供了声明构造函数的一种简洁方式. 其中,参数className是要创建的构造函数的名字/通俗的说就是你要声明的类名,而参数superclass既可以使一个Function对象,也可以是一个Function对象的数组,用于表示当前类所要继承的超类。如果没有超类,需要用null,占位。另外,参数props是一个对象,其中的属性将被复制到构造函数/通俗的说就是你要声明的类名的prototype属性中。【类名按照约定,首字母大写!如下面的Validate。】


实际上,dojo 中的 declare是在extend、mixin和delegate等方法的基础上提供了一种更复杂的抽象机制,从而能够实现单独使用这几种模式无法实现的效果。

  
dojo.declare( "V alidate " , null , {

phone:
function (phoneNumber) {
return phoneNumber + 2 ;
},
tel:
function (telNumber) {
return telNumber + 1 ;
}
});


var v = new Validate();
alert(v.phone(
5 ) + " \n " + v.tel( 5 ));

 

声明了了一个验证类,添加了对phone手机号码 和 tel固定电话号码 的验证方法,如果是手机号码就+2返回,如果是电话号码就+1返回。
测试一下,是好使的!但是这个不是declare的标准用法!

下面开始讲解dojo.declare的标准用法!


 

你可能感兴趣的:(delegate)