accp8.0轉換教材第8章JavaScript對象及初識面向對象理解與練習


JavaScript數據類型,對象,構造函數,原型對象,初識原型鏈,對象繼承

一.單詞部分

①object父類②constructor構造函數③instance實例④call調用

⑤apply應用⑥combination組合⑦inheritance繼承

二.預習部分

1.簡述創建對象的兩種方法,以及兩者的區別

new  和  字面量賦值

前者要用點.添加屬性和方法

后者直接調用

2.簡述使用構造函數創建實例的步驟

①創建一個新對象

②將構造函數的作用域賦值給新對象

③執行構造函數代碼塊

④返回新對象

3.簡述原型鏈在繼承中的作用

它是實現繼承的主要方法

三.上機部分

1.創建person對象

  <!DOCTYPE html>
  <html lang="en">
  <head>
  <meta charset="UTF-8">
  <title>創建person對象</title>
   
  </head>
   
  <body>
  <div id="aa"></div>
  <script>
  var createTi=document.createElement("p");
  var person=new Object();
  person.name="郎曉明";
  person.age="38";
  person.job="中國內地男演員、歌手";
  person.address="中國北京海淀區";
  person.info=function () {
  var strr="姓名:"+this.name+"<br/>年齡:"+this.age+"<br/>工作:"+this.job+"<br/>住址:"+this.address;
  //document.write(strr);
  document.getElementById("aa").innerHTML=strr;
  }
  person.info();
  </script>
  </body>
  </html>

2.創建person構造函數

  <!DOCTYPE html>
  <html lang="en">
  <head>
  <meta charset="UTF-8">
  <title>上機練習二</title>
  </head>
  <body>
  <div id="aa"></div>
  <script>
  function Person(name,age,job,address) {
  this.name=name;
  this.age=age;
  this.job=job;
  this.address=address;
  this.show=function() {
  var createTi=document.createElement("p");
  var strr="姓名:"+this.name+"<br/>年齡:"+this.age+"<br/>工作:"+this.job+"<br/>住址:"+this.address;
  document.getElementById("aa").innerHTML=strr;
  }
  }
  function Pers(){
   
   
  }
  //var newper=new Person("郎曉明","38","中國內地男演員、歌手","中國北京海淀區");
  Pers.prototype.name1="陳東";
  Pers.prototype.age1="20";
  Pers.prototype.job1="IT";
  Pers.prototype.address1="河南省";
  Pers.prototype.showinn=function () {
  var createTi=document.createElement("p");
  var strrr="姓名:"+this.name1+"<br/>年齡:"+this.age1+"<br/>工作:"+this.job1+"<br/>住址:"+this.address1;
  document.getElementById("aa").innerHTML=strrr;
  }
  var one=new Pers();
  one.showinn();
  //newper.show();
  </script>
  </body>
  </html>

 

3.創建person對象原型鏈

  <!DOCTYPE html>
  <html lang="en">
  <head>
  <meta charset="UTF-8">
  <title>上機練習三</title>
  </head>
  <body>
  <div id="aa"></div>
  <script>
  function Person(nation,skinColor) {
  this.nation=nation;
  this.skinColor=skinColor;
  var aaa=document.getElementById("aa");
  this.shownation=function () {
  var createTi=document.createElement("p");
  var st="民族:"+this.nation;
  createTi.innerHTML=st;
  aaa.appendChild(createTi)
  }
  this.showskin=function () {
  var createTi1=document.createElement("p");
  var st1="膚色:"+this.skinColor;
  createTi1.innerHTML=st1;
  aaa.appendChild(createTi1);
  }
  }
  function Woman() {
  Person.call(this,"滿族","黑色");
  this.sex="女";
  }
  var sexa=document.getElementById("aa");
   
  //Woman.prototype=new Person("漢族","黃色");
  Woman.prototype.showsex=function () {
  var createTi3=document.createElement("p");
  var st3="性別:"+this.sex;
  createTi3.innerHTML=st3;
  sexa.appendChild(createTi3);
  }
   
  //var per1=new Person("漢族","黃色");
  var wo=new Woman();
   
  wo.shownation();
  wo.showskin();
  wo.showsex();
  </script>
  </body>
  </html>

 

4.創建繼承person的student子類

  <!DOCTYPE html>
  <html lang="en">
  <head>
  <meta charset="UTF-8">
  <title>上機練習四</title>
  </head>
  <body>
  <div id="aa"></div>
  <script>
  function Person(name,chinese,math) {
  this.name=name;
  this.chinese=chinese;
  this.math=math;
  var aaa=document.getElementById("aa");
  this.showname=function () {
  var createTi=document.createElement("p");
  var st="姓名:"+this.name;
  createTi.innerHTML=st;
  aaa.appendChild(createTi)
  }
  this.showchinese=function () {
  var createTi1=document.createElement("p");
  var st1="語文:"+this.chinese;
  createTi1.innerHTML=st1;
  aaa.appendChild(createTi1);
  }
  this.showmath=function () {
  var createTi2=document.createElement("p");
  var st2="數學:"+this.math;
  createTi2.innerHTML=st2;
  aaa.appendChild(createTi2);
  }
  }
  function Student() {
  Person.call(this,"少君","56","96");
  this.age="19";
  }
  var sexa=document.getElementById("aa");
   
  //Student.prototype=new Person("陳東","88","99");
  Student.prototype.showage=function () {
  var createTi3=document.createElement("p");
  var st3="年齡:"+this.age;
  createTi3.innerHTML=st3;
  sexa.appendChild(createTi3);
  }
   
  //var per1=new Person("漢族","黃色");
  var stu=new Student();
  stu.showname();
  stu.showchinese();
  stu.showmath();
  stu.showage();
  /*var ncm = new Person("陳東","88","99");
  ncm.showname();
  ncm.showchinese();
  ncm.showmath();*/
  </script>
  </body>
  </html>

 

四.總結

1.對象分為內置對象和自定義對象

2.原型鏈是實現繼承的主要方法

3.組合繼承的思路是使用原型鏈實現對原型屬性和方法的繼承

 

歡迎提問,歡迎指錯,歡迎討論學習信息 有需要的私聊 發布評論即可 都能回復的

  原文在博客園http://www.cnblogs.com/a782126844/有需要可以聯系扣扣:2265682997

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM