手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript写的异步加载js文件函数(支持数组传参)
javascript写的异步加载js文件函数(支持数组传参)
摘要:自己用的加载js文件,支持多文件,不兼容ie复制代码代码如下:/***加载js文件*@param{string||array}urljs路径...

自己用的加载js文件,支持多文件,不兼容ie

复制代码 代码如下:

/**

* 加载js文件

* @param {string || array} url js路径

* @param {Function} fn 加载完成后回调

* @return {object} game对象

* @example

* getScript("url.js",fn)

* getScript(["url-1.js","url-2.js"],fn)

*/

game.getScript = (function() {

var cache = {};//内部缓存下url,下次则不请求

return function(url, fn) {

if ("string" === typeof(url)) {

url = [url]; //如果不是数组带个套

};

var i = 0,//循环起

ok = 0,//加载成功几个js

len = url.length,//一共几个js

head = document.getElementsByTagName("head")[0],

js, _url,

create = function(url) {//创建js

js = document.createElement("script");

js.type = "text/javascript";

js.src = url;

head.appendChild(js);

return js;

};

for (; i < len;) {

if (cache[encodeURIComponent((_url = url[i++]))]) {//如果加载过

(++ok >= len && fn) && fn();//如果加载完所有的js则执行回调

continue;

}

cache[encodeURIComponent(_url)] = !0;//设置缓存

js = create(_url);//创建js

fn && (js.onload = function() {

if (++ok >= len) {//如果加载完所有的js则执行回调

fn();

}

});

};

head = js = _url = create = null;

return this;

}

})();

【javascript写的异步加载js文件函数(支持数组传参)】相关文章:

javascript的事件描述

javascript瀑布流式图片懒加载实例

javascript中动态函数用法

javascript结合Flexbox简单实现滑动拼图游戏

JavaScript获得指定对象大小的方法

JavaScript的while循环的使用

浅析Javascript匿名函数与自执行函数

javascript嵌套函数和在函数内调用外部函数的区别分析

JavaScript中Number.MAX_VALUE属性的使用方法

javascript带回调函数的异步脚本载入方法实例分析

精品推荐
分类导航