1

我正在创建一个简单的 HTML5 JS 游戏,目前我的 javascript 文件已达到近 1500 行,并且管理起来越来越难,还有很多事情要做,有没有一种简单的方法来拆分一些脚本进入“类”,我的意思是单独的文件,然后将所有“类”文件导入一个“主”文件?

所以例如我有这个

文件1.js

function pointInRect(pnt_x, pnt_y, rect_x, rect_y, rect_w, rect_h)
{
if ( (pnt_x >= rect_x) && (pnt_x <= rect_x + rect_w - 1) )
{
    if ( (pnt_y >= rect_y) && (pnt_y <= rect_y + rect_h - 1) )
    {return true;}
}
return false;
}

文件2.js

if( pointInRect(1,1,1,1,1,1) == true){ console.log("Yo, there be a collision");}

如何获取 file2 导入 file1 并使用该方法?如果有人能帮助我,那就太好了,它真的会帮助我管理我巨大的 JS 文件。

帆布

4

2 回答 2

4

只需在html中添加带有script标签的文件,它们就会按顺序执行。

<script type="text/javascript" src="file1.js">
<script type="text/javascript" src="file2.js">
于 2013-08-14T14:20:18.253 回答
0

其他人指出了您如何将代码分解为多个文件。如果你想在这些文件中组织你的代码,使用范围变量而不是全局变量,并且熟悉类/对象,那么你可以尝试这样的事情:


//class1.js
MYNS = MYNS | {};
MYNS.Class1 = {};
MYNS.Class1.prototype.pointInRect = function(){
  //magic here
};

//class2.js
MYNS = MYNS | {};
MYNS.Class2 = {};
MYNS.Class2.prototype.anotherMethod = function(){
  //more magic
};

//main.html
<script type="text/javascript" src="class1.js">
<script type="text/javascript" src="class2.js">

var class1 = new MyNS.Class1();
var class2 = new MyNS.Class2();

class1.pointInRect ();
class2.anotherMethod ();

但请记住,JavaScript 不是传统意义上的 OO,它们也不是真正的类。相反,这是一种将 JS 代码组织成类似于类和对象的方式。如果您尝试做类似于继承等的事情,那么所需的复杂性和理解水平会很快上升。

于 2013-08-14T14:33:07.537 回答