進階-module pattern
module pattern經常會與 closure+self invoke function一起使用,
var Module =
(function () {
var x = "Hello!!"; // I will invoke myself
return {
name:"apple",
test: function(){},
}
})();
套用closure在module pattern上時, 過程都會返回一個使用
{}
Object Literal Notation的object.整理: 1. 基本上只使用Object Literal Notation
var obj={}
就可以達到module化,包含member function, member property. 2. 若一般module想要使用/模擬private data/function, 則需要透過closure來達到.closure與module 透過closure來達到private data/function, 除了運用在常見的module pattern+self invoke function上面, 也可以發生在
自訂object
內部. 可參考 1. http://stackoverflow.com/questions/1535631/static-variables-in-javascript以及 2. 下面ES6章節的link2都有提到.Last modified 4yr ago