我正在编写一些不会用于html文档的javascript文件。例如,在js中写一个计算器,其中我有不同的.js文件说一个用于加法,减法,乘法,除法等。
我希望将每个数学运算放在一个自包含的.js文件中,然后使用另一个.js文件来#include其他较小的文件并从中调用这些函数?
这可能吗?
数学示例只是一种尝试表达我的意思的简单方法,真正的程序有点复杂,而且分割代码的主要目的是因为它对我来说更容易用小的专业代码推断出来。
我没有任何文档或dom可以使用,只是里面有算法的普通.js文件。
答案 0 :(得分:3)
使用javascript:
var script = document.createElement('script');
script.src = '/js/script';
document.head.appendChild(script);
使用jQuery:
//you need to change your path
$.getScript('/js/script.js', function()
{
// script is imported
});
答案 1 :(得分:1)
这是同步版本:
function myRequire( url ) {
var ajax = new XMLHttpRequest();
ajax.open( 'GET', url, false ); // <-- the 'false' makes it synchronous
ajax.onreadystatechange = function () {
var script = ajax.response || ajax.responseText;
if (ajax.readyState === 4) {
switch( ajax.status) {
case 200:
eval.apply( window, [script] );
console.log("script loaded: ", url);
break;
default:
console.log("ERROR: script not loaded: ", url);
}
}
};
ajax.send(null);
}
请注意,要使此跨域工作,服务器需要在其响应中设置allow-origin标头。