從我剛開始接觸js這門語言,就有聽說過一句話:「世間萬物皆物件,盤它就完事兒!」那麼物件究竟是什麼?什麼是物件導向程式設計?
2.例項:程式使用類建立物件時,生成的物件叫類的例項。由類建立物件例項的過程叫做例項化。
3.物件定義:可以把物件理解為屬性的集合,每個屬性存放乙個原始值、物件或函式。
4.物件導向:粗暴點講就是不用去了解物件的內部結構,就可以去使用它,就比如我們玩英雄聯盟,我們知道按鍵盤對應的鍵就能使用技能進行打擊敵人,但是我們不必去了解它的內部工作原理(為什麼我按這個鍵他就能觸發技能),再比如我們生活中用手機打**,乙個原理,我們只需要知道手機能打**就夠了,不需要去了解它怎麼生產的,就像我們js中使用date物件的方法就能獲取和設定時間,但是我們不用弄清楚它為什麼會實現這個功能,有點類似於我們常說的模組化,便於不同之間的協作。
不多說了,上乾貨,盤它。
基本函式模式;
控制台列印:
工廠函式模式:使用建立並返回特定型別的物件的函式(類似於工廠生產產品,原材料-加工-產品),優點:解決了多次重複建立多個物件的麻煩。 ;
控制台列印:
建構函式模式:凡是使用new呼叫的函式都為建構函式,建構函式提供模板作為物件的基本結構,建構函式內部使用this變數,且this會繫結在例項物件上;
控制台列印:
原型模式:每乙個建構函式都有乙個prototype屬性指向另乙個物件,這個物件的所有屬性和方法都會被建構函式的例項繼承,可以把那些不變的屬性和方法,直接定義在prototype物件上 ;
js每宣告乙個function,都有prototype原型,prototype原型是函式的乙個預設屬性,在函式的建立過程中由js編譯器自動新增。
也就是說:當生產乙個function物件的時候,就有乙個原型prototype。
prototype的屬性值是乙個物件,是屬性的集合,為什麼要說他的屬性的集合呢?我再來舉個例子:
控制台列印:
建構函式原型組合模式:組合模式中例項屬性與共享方法(用原型定義)是分離的,這與純物件導向語言不太一致 ;
控制台列印:
JavaScript物件導向
方法一 建構函式法 function cat cat.prototype.showname function var cat new cat cat.name tom cat.showname tom 它用建構函式模擬 類 在其內部用this關鍵字指代例項物件。類的屬性和方法,還可以定義在建構函式的...
javaScript物件導向
code 類lecture構造器 使用兩個字串函式,name和teacher function lecture name,teacher 類lecture的方法,生成乙個顯示該課程資訊的字串 lecture.prototype.display function 類schedule的構造器 使用乙個l...
Javascript 物件導向
什麼是物件everything is object 萬物皆物件 物件到底是什麼,我們可以從兩次層次來理解。1 物件是單個事物的抽象。一本書 一輛汽車 乙個人都可以是物件,乙個資料庫 一張網頁 乙個與遠端伺服器的連線也可以是物件。當實物被抽象成物件,實物之間的關係就變成了物件之間的關係,從而就可以模擬...