将Javascript文件导入另一个Javascript文件

时间:2013-08-14 14:17:16

标签: javascript html5

我正在创建一个简单的HTML5 JS游戏,目前我的javascript文件已经达到近1500行,并且正在逐渐变得越来越难以管理,还有一个简单的方法来分割一些脚本到“类”,我的意思是单独的文件,然后将所有“类”文件导入一个“主”文件?

所以例如我有这个

File1.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;
}

File2.js

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

如何获取file2 import file1并使用该方法?如果有人能帮助我,这将是非常棒的,它将真正帮助我管理我的巨大的JS文件。

帆布

2 个答案:

答案 0 :(得分:4)

只需在html中添加带脚本标记的文件,它们就会按顺序执行。

<script type="text/javascript" src="file1.js">
<script type="text/javascript" src="file2.js">

答案 1 :(得分: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代码组织成类似于类和对象的方法。如果你试图做类似于继承等的事情,那么所需的复杂性和理解水平会很快上升。