摘要:
使用预定义对象的能力只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自定义的类和对象.有以下几种创建方式: 1.工厂方式 我们可以这样定义一辆车: var car1 = new Object; car1.color='red'; car1.doors=4; car1.showColor=function(){ return this.color; }此时,我们创建了一辆车,但是,当我们... 阅读全文
摘要:
为什么使用混合模式实现继承? 实现对象的继承,我们可以通过对象冒充,也可以通过原型链的方式. 但是,对象冒充就要求必须使用构造函数方式,而原型链则无法使用构造函数,那么,我们就综合一下,采区混合模式来实现继承. 创建类的最好方式,是用构造函数定义属性,使用原型方式定义方法.这样的机制同样适用于继承机制,用对象冒充来继承构造函数的属性,用原型链继承prototype对象的方法.具体见下例: 代码... 阅读全文
摘要:
原理: 构造函数使用this关键字给所有属性和方法赋值.因为构造函数只是一个函数,所以可使ClassA的构造方法称为ClassB的方法,然后调用它. ClassB就会收到ClassA的构造方法中定义的属性和方法. 例子: function ClassA(name){ this.name=name; this.getName=function(){ return this.name; } } fu... 阅读全文
摘要:
prototype对象是个模版,要实例化的对象都以这个模版为基础. 总而言之,prototype对象的任何属性和方法都会被传递到那个类的所有实例,原型链利用这种功能来实现继承机制. 查看以下代码: function ClassA(){ } ClassA.prototype.color='red'; ClassA.prototype.getColor=function(){ document.wri... 阅读全文