现代模块机制
摘自《你不知道的js》这本书,第五章第五节:现代模块机制。
感觉这个很牛很高大上,但是不能完全看懂,抄下来,慢慢品读理解:
var MyModules = (
function Manager(){
var modules = {};
function define(name,deps,impl){
for(var i=0;i<deps.length;i++){
deps[i] = modules[deps[i]];
}
modules[name] = impl.apply(impl,deps);
}
function get(){
return modules[name];
}
return {
define,
get
}
}
)()
下面是这个模块的应用:
MyModules.define('bar',[],function(){
function hello(who){
return "Let me introduce:" + who;
}
return {
hello: hello
}
});
MyModules.define('foo',['bar'],function (bar) {
var hungry = 'hippo';
function awesome() {
console.log(bar.hello(hungry).toUpperCase());
}
return {
awesome: awesome
}
})
var bar = MyModules.get('bar');
var foo = MyModules.get('foo');
console.log(
bar.hello('hippo')
);
foo.awesome();

浙公网安备 33010602011771号