Using a javascript file in another js file
本问题已经有最佳答案,请猛点这里访问。
我正在编写一些不与HTML文档一起使用的javascript文件。例如,在JS中编写一个计算器,其中我将有不同的.JS文件,比如一个用于加法、减法、乘法、除法等。
我希望在一个独立的.js文件中进行每个数学操作,然后再创建一个.js文件,该文件将包含其他较小的文件,并可以从中调用函数?
有可能吗?
数学例子只是一个简单的表达我意思的方法,真正的程序比这个要复杂一些,拆分代码的主要目的是因为我更容易用专门化的小代码段来解释。
我没有任何要处理的文档或DOM,只需要简单的.js文件和里面的算法。
使用javascript:
1 2 3 | var script = document.createElement('script'); script.src = '/js/script'; document.head.appendChild(script); |
使用jQuery:
1 2 3 4 5 6 | //you need to change your path $.getScript('/js/script.js', function() { // script is imported }); |
以下是同步版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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 header。