javascript 写类方式之七

  、dojo.js的写类方式

  dojo最新是1.3.1了,记得07年时还是0.4。文档也渐渐多了起来,用dojo的也慢慢多了。dojo还发布了core版,压缩后只有27kb。dojo中用dojo.declare方法来定义一个类。dojo.declare的源码就不贴在这里了。dojo.declare有三个参数,

  参数1:类名className

  参数2:继承的类superclass

  参数3:构造器,方法props

  单纯的定义一个类实际只需传第一,三两个参数。因为这里只讨论如何定义一个类,不讨论继承。代码如下:

  

复制代码 代码如下:

  //定义类名

  var className = "Person";

  //定义构造器及方法

  var proto = {

  constructor : function(name){this.name=name;},

  getName : function(){ return this.name;},

  setName : function(name){ this.name = name;}

  }

  //定义类Person

  dojo.declare(className,null,proto);

  //创建一个对象

  var p = new Person("tom");

  console.log(p.getName());//tom

  p.setName("jack");

  console.log(p.getName());//jack

  //测试instanceof及p.constructor是否正确指向了Person

  console.log(p instanceof Person);//true

  console.log(p.constructor === Person);//true