javascript對象(1)

來源:互聯網
上載者:User

標籤:log   獨立   java   class   this關鍵字   名詞解釋   相對   建立對象   instance   

今天說物件導向,嗯,不是那個對象,是這個對象。

接下來就開始今天的內容:

什麼是物件導向:

  就是把資料及資料的操作方法放在一起,作為一個相互依存的整體----對象。對同類對象抽象出其共性,形成類。

  類中的大多資料,只能用本類的方法進行處理。類通過一個簡單的外部介面與外界發生關係,對象與對象之間通過訊息進行通訊。程式流程由使用者在使用中決定。

名詞解釋:

  基於對象:一切皆對象,以對象的概念來編程。

  物件導向編程:

    對象:就是人們要研究的事物,不僅能表示具體事物,還能表示抽象的規則,計劃或事件。

       屬性的無序集合,每個屬性可以存一個值(原始值,對象,函數)

    對象的屬性和行為:

       屬性:用資料值來描述他的狀態

       行為:用來改變對象行為的方法

    類:

       具有相同或相似的性質的對象的抽象就是類。對象的抽象,就是類。累的具體化就叫做對象。

 

說了物件導向,就說一下面向過程:

    自頂向下順序執行,逐步求精;其程式結構是按功能劃分為若干個基本模組,這些模組形成一個樹狀結構;各模組之間的關係儘可能簡單,在功能上相對獨立;

    每一模組內部均是由順序、選擇和迴圈三種基本結構組成;

    其模組化實現的具體方法就是使用程式。程式流程寫在程式是就已決定。

 

說了這麼多概念性的問題,還是有點模糊,下面來寫相關對象的一屆方法:

  1、建立對象

    (1)直接量

      不如建立一個狗狗的對象,代碼如下:       

       var dog = {
          //添加name屬性   name :
"Td",
          //添加叫的方法 say :
function (){ document.write("汪汪汪"); } }

    (2)原廠模式      

 1      <script> 2             //用原廠模式,先要確定建立對象的屬性和方法 3             //列如:建立摩拜單車,先要確定其屬性和方法 4             //屬性:名字   價錢  二維碼   顏色  鎖 5             //方法 : 跑 6             function createObj(name,price,code){ 7                 //建立對象 8                 var obj = new Object(); 9                 obj.name = name;10                 obj.price = price;11                 obj.code = code;12                 obj.color = "yellow";13                 obj.run = function(){14                     alert(this.name+"開始出發");15                 }16                 //在對象裡,要使用對象的屬性或方法,要用this.屬性或this.方法。17                 18                  //返回對象19                  return obj;20             }21             //調用工廠函數22             var a = createObj("摩拜單車1",1,101);23             var b = createObj("摩拜單車2",1,102);24             var c = createObj("摩拜單車3",1,103);25             26             a.run();27             28             alert(a.name + "價錢" + a.price+"元");29         </script>

    (3)建構函式

      

 1      <script> 2             //建構函式   (又名   初始函數):用來建立對象的 3              4             //develop:開發 5             //【注意】1、建構函式名   第一個字母     一定要    大寫   6             //      2、建構函式沒有傳回值 7             //this : 表示當前, 指向的是自己本身 8              9             function Game(name,personCount,develop){10                  this.name = name;11                  this.personCount = personCount;12                  this.develop = develop;13                  this.play = function(){14                      alert("我是"+this.name+"遊戲"+"我的玩家數量是:"+this.personCount);15                  }16             }17             18             //建構函式不返回對象是因為   關鍵字new19             //new 關鍵字建立對象並返回對象20             var Lol = new Game("Lol","1000萬","拳頭");21             Lol.play();22             var Cf = new Game("cf","3億","三星");23             Cf.play();24             //instanceof 判斷一個對象他父親是誰25             alert(Lol instanceof Game);26             //Lol instanceof Game     true27             //Lol instanceof Object   true28             29         </script>

   說一下建構函式和原廠模式的區別:

        建構函式名首字母大寫,與原廠模式區別開;

      建構函式內部使用this關鍵字;

      建構函式沒有傳回值,原廠模式需要傳回值;

 

今天就這樣,明天續更。。。。

javascript對象(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.