JAvascript書き込み方式の8


8.Ext.jsの書き方
 
ここではExt core 3を用いる.0,ExtではExt.extendでクラスを定義し(もちろんクラスを拡張するために使用されることが多い)、Extフレームワーク全体の各種コントロール、例えばPanel、MessageBoxなどはExt.extendメソッドで拡張されている.ここでは、最も簡単なクラスを定義するためにのみ使用します.
 
Ext.extendのコードを見ると、クラスは構造関数とプロトタイプで組み立てられていることがわかります.
 
ここでは2つのパラメータを渡すだけでよいが,1番目のパラメータはルートクラスObject,2番目はプロトタイプである.
 
/**
 * 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に伝達されます.