请寻找纯JavaScript答案。
使用IIFE进行JavaScript游戏。实际上在多个网页上有多个游戏。假设所有这些游戏都需要使用一段共同的代码。比如说,一个diceroller; 1d20,3d6等
这样做的正确方法是什么? IIFE是否应该以具有独特名称的方式进入全球?我担心设置全局(也许我太担心了)。
diceroller是否需要传递给IIFE游戏?如何正确地做到这一点?
答案 0 :(得分:3)
我认为你想要一个揭示模块模式,而不是IIFE模式。
//Revealing Module Pattern (Public & Private) w Public Namespace 'game'
var game = (function() {
// object to expose as public properties and methods such as game.roll
var pub = {};
//game.roll
pub.roll = function () {
//do your thing
return randomIntFromInterval(1,6);
};
function randomIntFromInterval(min,max){
return Math.floor(Math.random()*(max-min+1)+min);
}
//API
return pub;
}());