zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript创建对象和构造类实现代码

JavaScript代码 实现 构造 创建对象
2023-06-13 09:14:11 时间
创建一个对象
Java代码
复制代码代码如下:

<scripttype="text/javaScript">
varnewObject=newObject();
//创建一个对象
newObject.firstName="frank";
//增加一个firstName属性
newObject.sayName=function(){
alert(this.firstName);
}
//添加一个sayName方法
//调用sayName方法
//newObject.sayName();
//newObject["sayName"]();
varFirstName=newObject["firstName"];
varwhatFunction;
//if(whatVolume==1){
//whatFunction="sayName";
//}elseif(whatVolume==2){
//whatFunction="sayLoudly"
//}
//newObject[whatFunction]();
functionsayLoudly(){
alert(this.firstName.toUpperCase());
}
newObject.sayLoudly=sayLoudly;
//另一种方式添加方法
newObject["sayLoudly"]();
</script>

利用json(javaScriptObjectNotation)创建对象和上面同样的效果。
Java代码
复制代码代码如下:

functionsayLoudly(){
alert(this.firstName.toUpperCase());
}
varnewObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly
};
//也可以这样
varnewObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly,
lastName:{
lastName:"ziggy",
sayName:function(){alert(this.lastName);}
}
};
newObject.lastName.sayName();

这样也ok
Java代码
复制代码代码如下:
functionsayLoudly(){
alert(this.name.toUpperCase());
}
functionsayName(){
alert(this.name);
}
varnewObject={
name:"frank",
sayName:sayName,
sayLoudly:sayLoudly,
lastName:{
name:"ziggy",
sayName:sayName
}
};
newObject.lastName.sayName();

JavaScript中的类,还有构造方法。。。
Java代码
复制代码代码如下:
functionnewClass(){
alert("constructor");
this.firstName="frank";
this.sayName=function(){alert(this.firstName);}
//returnthis;
}
//varnc=newClass();
varnc=newnewClass();
//nc.firstName="ziggy";isok
nc.sayName();

还可以这样来构造类
Java代码
复制代码代码如下:
functionnewClass(){
this.firstName="frank";
}
newClass.prototype.sayName=function(){
alert(this.firstName);
}
varnc=newnewClass();
nc.firstName="ziggy";
nc.sayName();
varnc2=newnewClass();
nc2.sayName();

一般用prototypes来添加方法,这样不管有多少个实例,在内存中只有一个sayName方法。