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 表示能否...