-4

我有一个大约 3000 行长的 javascript 代码。所有功能都在一个文件中。我需要知道是否有办法在同一个文件中包含一个函数。

例子:

function renderGameLayout()

这将包括所有布局设计。

现在稍后在代码中,我将在另一个函数中回调该函数?我试过:

function getGames()
{
    // other js code here
    $(document).ready(function() 
    {
        renderGameLayout();
    });
    // other js code here
}

在另一个函数中,但这不起作用。有什么建议么?注意:我不想包含另一个 .js 文件,请不要这样做。

4

2 回答 2

2

对于大型 JS 项目,特别是如果您正在使用 JS 游戏引擎,您应该使用 RequireJS 之类的东西来管理您的文件和依赖项。

http://requirejs.org/

我想你会找到你的答案和一些可能更好的方法来组织你的项目结构。

于 2013-05-23T17:09:35.863 回答
1

很难确定您的问题是什么,但我认为您希望$(document).ready()为您触发您的renderGameLayout功能。你已经包裹$(document).ready()在一个函数中,所以这不会像你期望的那样工作。将其移动到您的文件正文中:

$(document).ready(renderGameLayout());

或使用外壳来触发renderGameLayout() ,而不是像这样:

(function() {
    renderGameLayout();
})();

就目前而言,您的代码并没有多大意义。

编辑:

重新阅读您的问题后,听起来您想在单独的脚本文件中使用一个函数而不将脚本添加到您的页面。在那种情况下,不,你不能。你的 JavaScript 必须知道其他函数的存在。如果您不包含脚本,它如何知道函数在哪里或在做什么?

您可以将该函数移动到包含函数的完全太大的文件中,也可以将脚本添加到您的页面中。这些是你的选择。

编辑#2:

理想情况下,您希望将 JavaScript 分解为有意义的文件,并在投入生产时将它们组合和缩小。一个包含 3000 行的巨大文件似乎是个坏主意。

于 2013-05-23T17:15:48.827 回答