var foo = ( function CoolModule(){ var something = 'cool'; var another = [1,2,3]; function doSomething() { console.log(something); } function doAnother(){ console.log(another); } return { doSomething: doSomething, doAnother: doAnother } } )();
感覺這個模式很牛逼!記錄一下
再抄錄一個更完整的,
var foo = ( function CoolModule(id){ function change(){ publicApi.identify = identify2 } function identify1(){ console.log(id); } function identify2(){ console.log(id.toUpperCase()); } var publicApi= { change, identify:identify1 }; return publicApi; } )('foo modules') console.log(foo);
JS從來沒有系統學過,就是個小白,見到這個模式,真是驚歎!要多多品味
所有增刪查改的功能全部可以放到裡面,而且自成一個作用域,不會對外面構成汙染,還有,foo是一個單例,也就是說,foo永遠指向的都是同一個物件