第四章作业

一.简答题
1.

(1)原型对象都包含一个指向构造函数的指针(constructor);
(2)原型对象X.prototype将包含一个指向原型Y.prototype的指针;
(3)一个原型实际上可以变成另一个类型的实例;
(4)各个原型之间的层层递进,就实现了继承;
2.答
在子类型构造函数的内部调用父类型构造函数,即在子类型构造函数的内部通过apply( )或call( )方法调用父类型的构造函数,也可以在将来新创建的对象上执行构造函数。
3.

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>创建对象显示自我介介绍</title>
    <style>
        body{font-size: 14px; font-family: "Arial", "微软雅黑"; line-height: 28px;}
    </style>
</head>
<body>
<div id="intro"></div>
<script>
    var student=new Object();
    student.name="郭乐乐";
    student.age=18;
    student.intro="我叫郭乐乐,我是一个高中三年级的学生,我非常喜欢音乐和打篮球";
    student.showIntro=function(){
        var str="姓名:"+this.name+"<br/>年龄:"+this.age+"<br/>自我介绍:"+this.intro;
        return str;
    }
    document.getElementById("intro").innerHTML=student.showIntro();


</script>
</body>
</html>在这里插入代码片
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>创建构造函数显示自我介绍</title>
    <style>
        body{font-size: 14px; font-family: "Arial", "微软雅黑"; line-height: 28px;}
    </style>
</head>
<body>
<div id="intro"></div>
<script>
    function Student(name,age,intro){
        this.name=name;
        this.age=age;
        this.intro=intro;
        this.showIntro=showIntro;
    }
    function showIntro(){
        var p=document.createElement("p");
        var str="姓名:"+this.name+"<br/>年龄:"+this.age+"<br/>自我介绍:"+this.intro;
        p.innerHTML=str;
        return p;
    }
    var student1=new Student("王小明",16,"我是高中一年级的学生,身高1.8米,很帅,我喜欢学习语文和英语。");
    var student2=new Student("黄妞妞",6,"我今年6岁了,常可爱,马上就可以上小学了,就可能有好多好多的小朋友了。");
    document.getElementById("intro").appendChild(student1.showIntro());
    document.getElementById("intro").appendChild(student2.showIntro());
</script>
</body>
</html>
在这里插入代码片<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>使用继承</title>
    <style>
        body{font-size: 14px; font-family: "Arial", "微软雅黑"; line-height: 28px;}
    </style>
</head>
<body>
<div id="intro"></div>
<script>
   function Animal(nama,color,age){
       this.name=nama;
       this.color=color;
       this.age=age;
   }
   function Poultry(name,color,age,leg){
       Animal.call(this,name,color,age);    //继承属性
       this.leg=leg;
   }
   Poultry.prototype=new Animal();    //继承方法
   Poultry.prototype.info=function(){
       var p=document.createElement("p");
       var str="我是一个"+this.color+"的"+this.name+",我已经"+this.age+"岁了,我有"+this.leg+"条腿";
       p.innerHTML=str;
       return p;
   };
   var poultry1=new Poultry("小狗狗","灰色",1,4);
   var poultry2=new Poultry("茶杯猫","白色",2,4);
   var poultry3=new Poultry("母鸡","红色",1,2);
   document.getElementById("intro").appendChild(poultry1.info());
   document.getElementById("intro").appendChild(poultry2.info());
   document.getElementById("intro").appendChild(poultry3.info());

</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值