javascript 写类方式之八

8、Ext.js的写类方式

  这里用的是Ext core3.0,Ext中用Ext.extend来定义一个类(当然它更多用来扩展一个类),Ext整个框架各种控件如Panel,MessageBox等都是用Ext.extend方法来扩展。这里仅仅用它来定义一个最简单的类。

  看Ext.extend的代码可得知,它仍然是用构造函数和原型来组装一个类。

  这里只需传两个参数即可,第一个参数是根类Object,第二个是原型。

  

复制代码 代码如下:

  /**

  * Person类

  * @param {Object} name

  */

  var Person = Ext.extend(Object,{

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

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

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

  });

  //创建一个对象

  var p = new Person("Lily");

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

  p.setName("Andy");

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

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

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

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

  比较特殊的是,如果单纯的定义一个类,那么第一个参数永远传Object即可。