Js面向对象

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
重写原型对象,赋值于一个新类型的实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值