/** * 模擬乙個介面,其方法會丟擲異常; */
function
flyinter () {}
flyinter.prototype.fly = function
() ;/**
* 實現乙個fly noway的方法; */
function
flynoways() {}
flynoways.prototype.fly = function
() ;/**
* 實現乙個fly with wings的方法; */
function
flywithwings () {}
flywithwings.prototype.fly = function
() ;/**
* 鴨子超類;建構函式中設定了乙個介面; */
function
duck()
duck.prototype.swim = function
() ;/**
* fly方法呼叫flyi介面的fly方法; */
duck.prototype.fly = function
() ;/**
* rubberduck繼承duck;建構函式中設定自己的fly物件; */
function
rubberduck ()
rubberduck.prototype = new
duck();
rubberduck.prototype.constructor =rubberduck;
delete
rubberduck.prototype.flyi;
var rduck = new
rubberduck();
//直接呼叫duck中的fly()方法即可;
rduck.fly();
javascript策略模式
var validator 驗證型別所對應的錯誤訊息 messages 當前需要使用的驗證型別 config 暴露的公開驗證型別 validate function data if type if checker result checker.validate data i if result re...
JavaScript之策略模式
定義 定義一系列的演算法,把它們乙個個封裝起來,並且使它們可以相互替換。乙個策略模式的實現至少包含兩部分 1.策略類,封裝了具體的演算法,負責具體計算過程。2.環境類,接收客戶的請求,將請求委託給某個策略類處理。比如下面的場景 乙個公司需要計算年終獎,不同績效的員工年終獎計算方式不同,績效s的員工,...
javascript 模擬監聽功能
setinterval initlogo,6000 function initlogo 如果是區域性重新整理頁面 監聽 則不能使用這種方法,因為頁面沒有重新整理,請求是每隔一段時間就會傳送請求,這樣請求數量就會以指數增長,這樣會導致server崩潰 function listening 則不會出現上...