js创建对象的两种常用方式:一、混合的构造函数+原型方式,基本思想:使用构造函数定义对象的数值属性,再使用原型定义对象的函数属性。
示例:
function Car(sColor,iDoors,iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("Mike","John"); } Car.prototype.showColor = function() { alert(this.color); }; var oCar1 = new Car("red",4,23); var oCar2 = new Car("blue",3,25); oCar1.drivers.push("Bill"); alert(oCar1.drivers); //输出 "Mike,John,Bill" alert(oCar2.drivers); //输出 "Mike,John"
基本思想:使用构造函数定义对象的数值属性,同时在构造函数中使用原型定义对象的函数属性
示例:
function Car(sColor,iDoors,iMpg){ this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("Mike","John"); if( typeof(Car._initialized) == "undefined" ){//注意:检测undefined类型只能用typeof方法 Car.prototype.showColor = function(){ alert(this.color); } Car._initialized = true; } }