閉包的作用?匿名函式的作用?很多次面試會被問到:(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...