JS脚本按顺序依次加载执行

今天同事遇到一个需求,就是需要动态加载的脚本按顺序依次加载执行。尝试了使用document.write(DOMContentLoaded之后不能使用该方法,且该方法不推荐使用),使用defer=“async”(部分浏览器比较古老,不支持该属性)。最后我写了一个方法,实现脚本的按顺序加载,代码如下:

function loadScript(){ 	var scriptArr =  Array.prototype.slice.apply(arguments); 	var script = document.createElement('script'); 	script.type = 'text/javascript';  	 	var rest = scriptArr.slice(1);  	if(rest.length > 0){ 		script.onload = script.onreadystatechange = function() {  			if ( !this.readyState || this.readyState === "loaded" ||  			this.readyState === "complete" ) {  				loadScript.apply(null, rest);  				// Handle memory leak in IE  				script.onload = script.onreadystatechange = null;  			}  		}; 	 	}					  	script.src = scriptArr[0]; 	document.body.appendChild(script); }	 loadScript('1.js','2.js','3.js');

该方法兼容IE哟!!!