<script type="text/javascript">
/*
1.基本的概念:
觀察者模式就在于觀察二字,回想高中時代上課期間,扭頭往窗外一看,恰巧有一雙眼睛正在盯著你。觀察者模式就是觀察
某一個物件,當被觀察者發生變化時,觀察者就會做出某種反應,被觀察者必須要知道觀察者有哪些才能準確的傳達資訊。舉幾
個生活中的例子,當你在往上買完東西,你就要"監視"這個包裹(被觀察者),當包裹到了當地快遞中心的時候,你(觀察者)就要
去取了。再舉一個比較現實的例子,公司發工資的時候,當你手機來短信說銀行卡到賬xxxx元的時候你就可以出去消費了,類似的
例子生活中還有很多,就不一一列舉了。
*/
//2.現就發工資的例子用代碼解釋一下
function Company(){
this.emps = []; //創建一個空的物件/陣列來存盤所有的員工
this.join = function(emp){
this.emps.push(emp); //每呼叫一次就往陣列里添加一個元素
}
this.pay = function(){
//公司發工資的方法,遍歷陣列給每一位員工發工資
this.emps.forEach(function(item,index){
item.receive(20000)
})
}
}
function Employee(emp){
this.receive = function(salary){
//員工收工資,列印出來
console.log(emp+'的工資是'+salary+'元,可以拿去浪啦!');
}
}
//1.首先要new一個公司出來
let comp = new Company();
//2.公司要發工資首先要確定發工資的物件也就是員工
let emp1 = new Employee('張三');
let emp2 = new Employee('李四');
//3.員工要和公司簽訂合同才算本公司員工,呼叫公司的join方法讓員工加入公司
comp.join(emp1);
comp.join(emp2);
//4.呼叫公司的pay方法給員工發工資
comp.pay();
</script>
實作效果如下:
uj5u.com熱心網友回復:
這個寫的特別好,贊一個uj5u.com熱心網友回復:
不錯,很棒????uj5u.com熱心網友回復:
講得很清楚,例子很好uj5u.com熱心網友回復:
寫的 不錯呀寶貝uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/86941.html
標籤:JavaScript
