js物件導向實現方式的演變及常用方法

來源:互聯網
上載者:User

標籤:java   資源   name   原理   person   部分   模式   return   混合   

 物件導向三大特性:封裝,繼承,多態。1.原始模式var obj = new Object();  obj.name = name; obj.sex = sex;obj.showName = function(){                     alert("我的名字叫"+this.name)}obj.showSex ......var Cat = {}   也可以用json的方式建立   原理相同 2.原廠模式容易理解版function createPerson(name,sex){     // 原料        var obj = new Object();      //加工         obj.name = name;     obj.sex = sex;     obj.showName= function(){         alert(‘我的名字叫‘+this.name);      }     //出廠}json版function Cat(name,color){     return {          name: name,          color: color,          showNamr: function(){              alert(‘我的名字叫‘+this.name);            }     }}缺點:沒有new,建立多個副本,代碼不夠簡潔3.建構函式模式function Cat(name,color){     this.name = name;     this.color = color;}var cat1   = new Cat("大象","黃毛");new的作用:1.系統自動建立一個對象 2.將內部的this指向這個建立的對象 3.返回這個對象缺點:依舊建立多個副本浪費記憶體資源 4.原型模式(混合法)function Cat(name,colot){     this.name = name;       this.color = color;}Cat.prototype.type = " 貓科動物";Cat.prototype.eat = function(){     alert("吃老鼠");}問題注意alert(cat1.eat == cat2.eat); //truetype和eat就指向同一塊記憶體地區了Cat即是類也是建構函式在js裡是部分家的建構函式首字母大寫原型上方法屬性和執行個體行間賦予的方法屬性  行間優先順序較高會替換原型上的方法屬性 5.物件導向常用到的方法prototype 屬性使您有能力向對象添加屬性和方法(也就就是java中的類的方法)constructor: 返回此對象創造它的函數的引用(建構函式)instanceof: 判斷對象是不是 一個建構函式的執行個體 isPrototypeOf() 判斷prototype對象和執行個體之間的關係Cat.prototype.isPrototypeOf(cat1);hasOwnProperty() 判斷屬性是行間區域屬性還是 整合prototypecat1.hasOwnProperty(‘name‘)屬於自己返回truein 判斷是否包含某個屬性 不管是本地還是原型上“name” in cat1in 用來遍曆所有屬性

js物件導向實現方式的演變及常用方法

聯繫我們

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