dojo.declare函数相关

来源:互联网 发布:站酷干货 知乎 编辑:程序博客网 时间:2024/04/30 20:17

dojo.declare(class,superclass, props) :返回一个构造函数

class:类名,字符串类型

superclass:父类,若无父类则为nullFunction类型

props:属性和方法对象,即为作为原型中包含的属性和方法;其中一个关键的函数constructor是本类的初始化函数

例如:

dojo.declare("my.classes.bar", my.classes.foo, {

    // properties to be added to the class prototype

    someValue: 2,

    // initialization function

    constructor: function(){

        this.myComplicatedObject = new ReallyComplicatedObject();

    },

    // other functions

    someMethod: function(){

        doStuff();

    }

);

先执行父类的构造函数,接下来是本类的constructor方法,constructor方法可以重写父类的属性值,所以constructor需要包含了父类构造方法的参数。

 

dojo.extend(constructor,props)一个对象的所有属性与方法会被加到构造函数的原型中,使得该构造器的所有实例都能够使用它们。

例如:

       var A = dojo.declare(null, {

              m1: function(){},

              s1: "Popokatepetl"

              });

              Dojo.extend(A,{

              m1: function(){},

              m2: function(){},

              f1: true,

              d1: 42

              });

 

dojo.mixin(obj,props):一个对象props的所有属性与方法会加到另一个对象obj中,只拷贝原属性的成员,不拷贝原型中的成员。若obj中的属性与props的有相同,会被覆盖掉。

dojo.declare("acme.Base", null, {

    constructor: function(properties){

        // property configuration:

        dojo.mixin(this, properties);

    }

});

原创粉丝点击