1.自定义对象
语法
<font color=red>var 对象名称=new Object()</font>
var 对象名称=new Object()
有两种创建对象的方法
1.基于Object对象方式创建
var flower=new Object();
flower.name="长春花";
flower.genera="桃科";
flower.area="非洲";
flower.uses="观赏或者药用";
flower.showName=function(){
//alert(this.name);
prompt(this.genera);
}
flower.showName();
2.使用字面量赋值方式创建对象
var flower={
name:"花花",
genera:"非洲",
showName:function(){
alert(this.genera);
}
}
flower.showName();
二.构造函数
function Flower(name,genera,area,uses){
this.name=name;
this.genera=genera;
this.area=area;
this.uses=uses;
this.showname=function(){
alert(this.name);
}
}
var flower1=new Flower("牡丹","1","1","1");
var flower2=new Flower("玫瑰",'1','1','1');
flower1.showname();
flower2.showname();
命名规则:按照惯例,构造函数第一个字母应当大写,非构造函数第一个字母小写
2.原型对象
每个函数有一个prototype属性,所有对象实例都可以共享属性和方法
function Flower(){
}
Flower.prototype.name="曼陀罗花";
Flower.prototype.genera="茄科";
Flower.prototype.area="印度";
Flower.prototype.uses="药用";
Flower.prototype.showname=function(){
alert(this.name);
}
var flower1=new Flower();
var flower2=new Flower();
flower1.name="玫瑰"; // 只会覆盖一个
alert(flower1.name); /输出玫瑰
alert(flower2.name); //输出曼陀罗花
继承
1.通过原型链的方式
<script >
function Humans(){
this.foot=2;
}
Humans.prototype.getFoot=function(){
return this.foot;
}
function Man(){
this.head=1;
}
Man.prototype=new Humans(); //继承Humans
Man.prototype.getHead=function(){
return this.head;
}
var man1=new Man();
alert(man1.getFoot());
alert(man1 instanceof Object);
alert(man1 instanceof Humans);
alert(man1 instanceof Man);
</script>
Man.prototype=new Humans(); //继承Humans
重写原型对象,赋值于一个新类型的实例