JS定义类和对象

没有JS基础!边做边学!看过较多JS代码,如今正在看《JavaScript高级程序设计》,很多以前困扰我的问题得到解答!现把JS定义对象的方式贴如下,给自己加深印象:


<html>
<body>
<script language="javascript">
//代码一
var oCar=new Object;
oCar.color="red";
oCar.doors=4;
oCar.mpg=23;

oCar.showColor=function(){
alert(this.color);
};


//代码二function factory
function createCar(){
var oCar=new Object;
oCar.color="green";
oCar.doors=4;
oCar.mpg=23;

oCar.showColor=function(){
alert(this.color);
}
return oCar;
}

var oCar1=createCar();
var oCar2=createCar();

//代码三,所有对象都共享一个方法,每个创建新对象,都要创建新函数,而事实是对象共享一个方法
function createCar(sColor,iDoors,iMpg){
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.idoors=iDoors;
oTempCar.impg=iMpg;

oTempCar.showColor=function(){
alert(this.color);
}

return oTempCar;
}

var oCar1=createCar("red",2,3);
var oCar2=createCar("green",3,5);

//代码四:

function showColor(){
alert(this.color)
}

function createCar(sColor,iDoors,iMpg){
var oTempCar=new Object;
oTempCar.color=sColor;
oTempCar.idoors=iDoors;
oTempCar.impg=iMpg;
oTempCar.showColor=showColor;

return oTempCar;
}

var oCar1=createCar("red",2,3);
var oCar2=createCar("green",3,5);

//代码五,使用混合的构造函数/原型方式来构造对象
function Car(sColor,iDoors,iMpg,){
this.color=sColor;
this.idoors=iDoors;
this.impg=iMpg;
this.drivers=new Array("Mike","Sussen");
}

Car.prototype.showColor=function(){
alert(this.color);
}

var oCar1=new Car("red",1,25);
var oCar2=new Car("green",2,23);


//代码六:动态原型方法
function Car(sColor,iDoors,iMpg,){
this.color=sColor;
this.idoors=iDoors;
this.impg=iMpg;
this.drivers=new Array("Mike","Sussen");

if(typeof Car._initialized=="undefined"){
Car.prototype.showColor(){
alert(this.color);
}

Car._initialized=true;
}
}

</script>
<body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值