我正在创建一个简单的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文件。
帆布
答案 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代码组织成类似于类和对象的方法。如果你试图做类似于继承等的事情,那么所需的复杂性和理解水平会很快上升。