写一个简单的动态加载JavaScript demo:
testA.js 代码如下:
var testA = {}; (function (self) { self.pubFunc1 = function () { console.log("testA pubFunc1"); } })(testA);
main.html中的脚本如下:
function loadScripts(url) { var script = document.createElement("script"); script.type = "text/javascript"; script.src = url; document.body.appendChild(script); script.onload = function () { console.log("testA load done"); } } loadScripts("testloadJS/testA.js"); console.log("use testA"); //testA.pubFunc1();
运行结果如下:
use testA
testA load done
从运行结果我们看出加载JavaScript文件是异步的。
//testA.pubFunc1(); 把这一行放开,会出现报错:testA 没有定义。