JS學習筆記 物件導向,設計模式

2021-06-14 09:10:29 字數 1196 閱讀 1075

js中,只有函式具有作用域。定義在乙個函式中的變數,在該函式內嵌的函式是可以訪問的。

函式是執行在定義他們的作用域中,而不是執行在呼叫他們的作用域中。

定義類的三種基本模式

1.門戶大開型,全部是共有的

2.下劃線變數模式,從程式設計規範上區分了私有變數

3.採用閉包實現真正的私有屬性和方法(缺點:每個例項都有乙份屬性和方法的拷貝,浪費記憶體,而且不利於繼承)

function book(name) 

this.setname = function (newname) else

}//定義私有方法

function checkname(checkname)

return true;

}//初始化內部屬性

this.setname(name);

}//所有例項都共享的方法

book.prototype.display = function ()

var b = new book("wangjue");

alert(b.getname());

b.setname("fengfei");

alert(b.getname());

b.display();

繼承的實現

// 類的繼承

//定義父類

function supertype(name1, ***1)

supertype.prototype.getname = function ()

//定義子類

function subtype(name1,***1,age1)

//將子類繼承到父類

subtype.prototype = new supertype();

subtype.prototype.constructor = subtype;//修改子類的構造器名稱(建構函式)

//拓展子類的方法,一定要放在繼承的兩行**之後!!

subtype.prototype.getage=function()

var s = new subtype("wang", "manle", 12);

alert(s.getname() + s.getage());

alert(subtype.prototype.constructor);

設計模式學習筆記 物件導向設計原則

1 單一職責 乙個類只應該做一樣事情 2 開閉原則 對擴充套件開放,對修改封閉 3 黎克特制代換 以父類的名義統一進行呼叫,使用時賦以具體子類,實現多型。4 依賴倒轉 是黎克特制代換原則另一種表述。針對介面 抽象程式設計,其實也就是以父類的名義統一進行呼叫,使用時賦以具體子類,實現多型。5 介面隔離...

設計模式學習筆記 物件導向設計原則

單一職責原則定義 單一職責原則 srp single responsibility principle 又稱單一功能原則,物件導向五個基本原則 solid 之一。它規定乙個類應該只有乙個發生變化的原因。該原則由羅伯特 c 馬丁 robert c.martin 於 敏捷軟體開發 原則 模式和實踐 一書...

js學習 物件導向設計

1資料屬性 資料屬性包含乙個資料值的位置,在這個位置可以讀取和寫入值,資料屬性有4個描述其行為的特性 一 configgurable 表示能否通過delete 刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為訪問器屬性。他們的特性預設值為true 二 enumerable 表示能否...