在以下實例中诈嘿,總模塊為Garu
帘睦,子模塊為World
和Render
即:
Garu
| - World
| - Render
寫法一:(對象形式)
框架部分:
var Garu = {};
Garu.val = "Garu"; // 總模塊的變量
Garu.init = function(){ // 總模塊的方法
console.log("Garu init");
}
/*
Garu.World
*/
Garu.World = {};
(function(){
var World = Garu.World;
World.val = "World"; // World子模塊的變量
World.init = function(){ // World子模塊的方法
console.log("Garu.World init");
}
})();
/*
Garu.Render
*/
Garu.Render = {};
(function(){
var Render = Garu.Render;
Render.val = "Render"; // Render子模塊的變量
Render.init = function(){ // Render子模塊的方法
console.log("Garu.Render init");
}
})();
調(diào)用方式:
Garu.init(); // 調(diào)用總模塊的方法
console.log(Garu.val); // 調(diào)用總模塊的變量
var World = Garu.World;
World.init(); // 調(diào)用子模塊的方法
console.log(World.val); // 調(diào)用子模塊的變量
var Render = Garu.Render;
Render.init();
console.log(Render.val);
寫法二:(類+原型鏈+對象形式)
框架部分:
var Garu = (function(){
function Garu(){
this.val = "garu"; // 總模塊的變量
}
Garu.prototype.init = function(){ // 總模塊方法
console.log("Garu init");
}
var World = Garu.prototype.World = {};
World.val = "World"; // World子模塊的變量
World.init = function(){ // World子模塊的方法
console.log("Garu.World init");
}
var Render = Garu.prototype.Render = {};
Render.val = "Render"; // Render子模塊的變量
Render.init = function(){ // Render子模塊的方法
console.log("Garu.Render init");
}
return Garu;
})();
調(diào)用方式:
var Garu = new Garu();
Garu.init();
console.log(Garu.val);
var World = Garu.World;
World.init();
console.log(World.val);
var Render = Garu.Render;
Render.init();
console.log(Render.val);