JavaScript物件導向

來源:互聯網
上載者:User

標籤:image   object   技術分享   color   導致   his   html   .com   head   

 物件導向:不瞭解原理的情況下,會使用功能,不關注內部細節,是一種通用思想

對象:黑盒子 不瞭解內部的結構,知道表面的各種操作

物件導向編程OOP:

  •    特點:抽象(抓住核心問題),
  •    封裝(不考慮內部實現,只考慮功能),
  •    繼承(遺傳 父母和孩子 從父類繼承出一些屬性和方法,還可以 有自己的新方法)

             多重繼承  多態

 

對象由屬性和方法組成

  • 屬性-變數:狀態 靜態
  • 方法-函數:過程 動態
    <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><script type="text/javascript">    var a=7;//變數 自由的,不屬於任何人    alert(a);    var arr=[1,2,3,4,5,6];    arr.a=12;//屬性 非自由,屬於一個對象    alert(arr.a);    function aa(){        alert(‘abc‘);//函數:自由    }    aa();    arr.aa= function () {        alert(‘abcd‘);//方法:非自由 屬於對象    }    arr.aa();</script></body></html>

    結果:7       12     abc     abcd

  • this:當前發生事件的對象   當前的方法屬於誰

    <script type="text/javascript">    var arr=[1,2,3,4];    arr.a=12;    arr.show=function(){        alert(this.a);    }    arr.show();</script>

    12

    <script type="text/javascript">    window.show=function(){    alert(this);    }    show();</script>

    object Window   當前的方法屬於誰  屬於Window

  • 不能再系統對象中隨意添加方法、屬性,否則會覆蓋已有方法和屬性
  • object 對象  沒有東西
<script type="text/javascript">   var obj=new Object();    obj.name=‘blue‘;    obj.qq=‘930260035‘;    obj.showName= function () {        alert(‘我的名字是:‘+this.name);    }    obj.showQQ= function () {        alert(‘我的qq是:‘+this.qq);    }    obj.showName();    obj.showQQ();</script>

   

 

 

<script type="text/javascript">    function createPerson(name,qq){//建構函式       //原料        var obj=new Object();        //加工        obj.name=name;        obj.qq=qq;        obj.showName= function () {            alert(‘我的名字是:‘+this.name);        };        obj.showQQ= function () {            alert(‘我的qq是:‘+this.qq);        };        //出廠        return obj;    }    var obj=createPerson(‘blue‘,‘54546466‘);    obj.showName();    obj.showQQ();    var obj2=createPerson(‘張三‘,‘555555555‘);    obj2.showName();    obj2.showQQ();</script>
  • 工廠方式的缺點:沒有new    函數重複導致資源浪費

JavaScript物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.