javascript 混合的构造函数/原型方式
2009-03-27 11:24
561 查看
联合使用构造函数和原型方式,就可像用其他程序设计语言一样创建对象。这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果所有函数都只创建一次,而每个对象都具有自己的对象属性实例
Code
// 混合的构造函数/原型方式
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike","Sue");
}
Car.prototype.showColor = function(){
alert(this.color);
}
var oCar1 = new Car("red",4,23);
var oCar2 = new Car("blue",3,33);
oCar1.drivers.push("Matt");
oCar1.drivers();//output Mike,Sue,Matt
oCar2.drivers();/// output Mike,Sue
现在就更像创建一般对象了。所有的非函数属性都在构造函数中创建,意味着又可用构造函数的参数赋予属性默认值了。因为只创建showColor()函数的一个实例,所以没有内存浪费。此外,给oCar1的drivers数组添加"Matt"值,不会影响oCar2的数组,所以输出这些数组的值时,oCar1.drivers显示的是"Mike,Sue,Matt",而oCar2.drivers显示的是"Mike,Sue"。
Code
// 混合的构造函数/原型方式
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike","Sue");
}
Car.prototype.showColor = function(){
alert(this.color);
}
var oCar1 = new Car("red",4,23);
var oCar2 = new Car("blue",3,33);
oCar1.drivers.push("Matt");
oCar1.drivers();//output Mike,Sue,Matt
oCar2.drivers();/// output Mike,Sue
现在就更像创建一般对象了。所有的非函数属性都在构造函数中创建,意味着又可用构造函数的参数赋予属性默认值了。因为只创建showColor()函数的一个实例,所以没有内存浪费。此外,给oCar1的drivers数组添加"Matt"值,不会影响oCar2的数组,所以输出这些数组的值时,oCar1.drivers显示的是"Mike,Sue,Matt",而oCar2.drivers显示的是"Mike,Sue"。
相关文章推荐
- javascript 混合的构造函数/原型方式
- javascript 混合的构造函数和原型方式,动态原型方式
- javascript 混合的构造函数和原型方式,动态原型方式
- javascript定义类或对象:混合的构造函数/原型方式
- javascript混合的构造函数/原型方式
- javascript混合构造函数/原型方式定义类
- javascript 混合的构造函数和原型方式,动态原型方式
- javascript 混合的构造函数和原型方式,动态原型方式
- javascript 混合的构造函数和原型方式,动态原型方式
- javascript 混合的构造函数和原型方式,动态原型方式
- 构造函数/原型 的混合方式来构建javascript模块
- JS面向对象的几种创建方式:工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- javascript——混合继承(借用构造函数+原型继承)
- JavaScript中常见的几种创建对象的方式:基于对象扩充属性和方法、基于工厂方式创建对象、基于构造函数和基于原型
- JavaScript利用构造函数和原型的方式模拟C#类的功能
- 构造函数\原型方法混合法定义类--javascript
- 构造函数+原型混合方式实现js的继承
- JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
- JavaScript继承基础讲解,原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承
- JavaScript之工厂方式 构造函数方式 原型方式讲解