模式學習 二

2022-02-25 07:06:11 字數 880 閱讀 5813

閉包的作用?匿名函式的作用?很多次面試會被問到:(function(){})()

1. 匿名函式的作用域只能在這個閉包裡,但是同時又能訪問到外面的變數;

2. 匿名函式裡面,我們可以將全域性變數當做引數傳入,然後使用,相比隱式全域性變數,更清晰,更快

var block = (function

(); my.name = "nick";

return

my; })();

var block = (function

(my))(block || {});

console.log(block);

//object

通常我們申明乙個object,可以寫 :

var block = block || {};// 這個時候 var 不能去掉 否則報錯 ,因為block沒有被提前申明,報錯 block is not defined!

松耦合擴充套件:

var block = block ||{};

var block = (function

(); my.name = "nick";

return

my; })();

var block = (function

(my))(block ||{});

var block = (function

(my))(block ||{});

console.log(block);

//object

var block = (function

(my))(block);

console.log(block);

設計模式學習(二) Proxy模式

proxy模式 意圖 為其他物件提供一種 以控制目標物件的訪問。此模式的目的 由於直接訪問控制的不便是而設定的一控制 uml結構圖 proxy 模式根據種類不同,效果也不盡相同 1 遠端 remote 為乙個位於不同的位址空間的物件提供乙個局域代表物件。這個不同的位址空間可以是在本機器中,也可是在另...

二 策略模式 設計模式學習筆記

1 抽象策略角色 策略類,通常由乙個介面或者抽象類實現。定義了乙個公共介面,各種不同的演算法以不同的方式實現這個介面,context使用這個介面呼叫不同的演算法,一般使用介面或抽象類實現 2 具體策略角色 包裝了相關的演算法和行為。實現了strategy定義的介面,提供具體的演算法實現 3 環境角色...

boolan 設計模式學習二

1.工廠模式和抽象工廠 貌似是為了避免靜態的new,以後擴充套件時 修改的比較少,還有就是使用者在構造物件時避免準備複雜的引數,使用工廠模式可以讓 在執行時決定具體構造物件的型別。因此除了不同種類的需要有個抽象基類以外,工廠也要有個抽象的基類工廠,全部依賴於抽象。class mainform pub...