Javascript IIFE 项目间代码共享
Javascript IIFE code sharing between projects
请寻找纯粹的 JavaScript 答案。
使用 IIFE 进行 JavaScript 游戏。实际上是多个网页上的多个游戏。假设有一段共同的代码需要被所有这些游戏使用。比如说,一个 diceroller; 1d20、3d6 等
正确的做法是什么?是否应将 IIFE 全部设置为具有唯一名称的全局?我担心设置为全局(也许我太担心了)。
diceroller 是否需要传递到游戏 IIFE 中?如何正确执行此操作?
我想你想要一个揭示模块模式,而不是 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;
}());
请寻找纯粹的 JavaScript 答案。
使用 IIFE 进行 JavaScript 游戏。实际上是多个网页上的多个游戏。假设有一段共同的代码需要被所有这些游戏使用。比如说,一个 diceroller; 1d20、3d6 等
正确的做法是什么?是否应将 IIFE 全部设置为具有唯一名称的全局?我担心设置为全局(也许我太担心了)。
diceroller 是否需要传递到游戏 IIFE 中?如何正确执行此操作?
我想你想要一个揭示模块模式,而不是 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;
}());