1.js文件引入外部包的方式
通过匿名函数自执行的方式,让引用该js的文件自动引用来自外部的js文件。并且自执行函数外部无法影响其内部,执行后会被快速销毁,不会影响到其他变量,干净快捷。
(function(URL){
//createElement()创建一个节点
var script = document.createElement('script');
//setAttribute()添加指定的属性,并为其赋指定的值
script.setAttribute('type','text/javascript');
script.setAttribute('src',URL);
//getElementsByTagName()获取某个标签名的集合
//appendChild()向节点添加最后一个子节点
document.getElementsByTagName('head')[0].appendChild(script);
......
})(URL);
注意:由于函数是被引用的,所以使用全局的this是无法找到该函数的,引用时不可加this。
2.动态加载js文件的盲点
因为该js文件引用,且动态加载了外部js文件,所以必须等待js文件加载完成后才可以调用相关函数,不然外部js文件还没有加载完就调用相关函数,浏览器会找不到依赖js函数,导致报错。
script.onload=script.onreadystatechange=function(){
//等待js动态加载完成
if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
//加载并运行
console.log("运行相关函数!");
};
};