<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>
先加載執(zhí)行a.js卡骂,完畢后再加載執(zhí)行b.js勾拉。
<script type="text/javascript">
document.write('<script type="text\/javascript" src="a.js"><\/script>');
document.write('<script type="text\/javascript" src="b.js"><\/script>');
</script>
先執(zhí)行a.js煮甥,完畢后再執(zhí)行b.js盗温。
<script type="text/javascript">
document.write('<script type="text\/javascript" src="a.js"><\/script>');
var sc=document.createElement("script");
sc.setAttribute("src","b.js");
document.getElementsByTagName("head")[0].appendChild(sc);
</script>
這就不可以確定誰先執(zhí)行了,因為通過創(chuàng)建script標(biāo)簽引入的JS成肘,是誰先加載完畢誰先執(zhí)行卖局,與創(chuàng)建順序無關(guān)。
<script type="text/javascript">
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('async', true); //true:按照加載順序双霍;false:按照創(chuàng)建順序
js.setAttribute('src', url);
document.getElementsByTagName('head')[0].appendChild(js);
</script>
對于創(chuàng)建script標(biāo)簽引入JS來講砚偶,在某些高級瀏覽器中有async屬性用于控制是按照加載完畢的順序執(zhí)行,還是按照創(chuàng)建順序執(zhí)行洒闸。