第一章 类设计
目录:
1 参建类
2 使用构造函数
2.1 ff+fb截图
3 共享方法
1 对象创建
在js中参建一个对象很简单:
var myObject = {
aVar: 15,
aMethod: function() {
alert("I'm a method of the object myObject." + "aVar: " + this.aVar);
}
}
你不需要定义一个类或实例来创建一个对象。 在这里我们使用的是对象初始化。 在单个对象对象的情况下是十分不错的。 还有另一种总所周知在其他语言中经常使用的方式那就是使用匿名函数:
var myObject = new function() {
this.aVar = 15;
this.aMethod = function() {
alert("I'm a method of the object myObject." + "aVar: " + this.aVar);
};
}
如果我们需要多个同样类型的对象,我们就必须使用一个构造函数和new关键字。构造函数名就是对象的类型。 这就是说,上面的匿名函数是一个使用new关键字的未命名的构造函数。
2 使用构造函数
Js中不存在类,但有构造函数。 你可以编写一个函数然后使用new关键字来创建一个对象。
// 首先,我们为我们的类写了一个空的构造函数
function myClass() {
this.aVar = 15;
this.aMethod = function() {
alert("I'm a method of the object myObject.");
}
}
// 为类创建一个实例
var A = new myClass();
// 显示15
alert(A.aVar);
// 第二个实例
var B = new myClass();
任何类的所有实例共享同一个单独的prototype对象。方法和共有属性应该放在这里。
// 我们为原型对象定义了一个方法
Ext.apply(myClass.prototype, {
defaultClassName: "x-widget-class",
sharedMethod: function() { alert("I'm a shared method") }
});
// 显示信息
A.sharedMethod();
// 相同的信息
B.sharedMethod();
在myClass的定义中并不存在名为sharedMethod的方法。 Js通过方法名在它的原型对象中查找该方法,如果找到就调用它。