一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript 全面解析各種瀏覽器網(wǎng)頁中的JS 執(zhí)行順序

我們知道JavaScript是一種解釋型語言,他的執(zhí)行是自上而下,但是各個瀏覽器對于至上而下的理解是有細(xì)微差別的,而代碼的上下游也就是程序流又對于程序正確至關(guān)重要,所以我覺得有必要深入理解多個js塊兒的執(zhí)行順序。
首先得知道有多少方法能把JavaScript加入到頁面中呢?常見下述的前2種,其實還有更多。
1.頁面中直接引入外部js文件:<script src="my.js"></script>
2.頁面中直接寫如js片段<script>alert(1)</script>
3.在js中引入js文件document.write("<scr"+"ipt src='my.js'></scr"+"ipt>");
注意:這時候"..</script>"必須拆成"</scr"+"ipt>",否則瀏覽器可能會把父js片段關(guān)閉掉,出錯;
4.同樣在js中引用其他js片段,document.write("<scr"+"ipt>alert(1)</scr"+"ipt>");
你可能覺得這個并沒有必要,既然已經(jīng)在script中了還套一層干嘛?呵呵,怎么說也是一種寫法,而且它具有其特殊的行為,稍后我們討論到。
5.使用Ajax中的xmlHttpRequest結(jié)合eval()來引入js,我最早在Dojo的代碼見到,寫的詳細(xì)些:
var ajaxRequest = getXmlHttpRequest()//省去各個瀏覽器得到xmlHttpRequest的部門
ajaxRequest.open("GET","my.js",false);//使用xmlHttpRequest對象Get方法的同步調(diào)用
ajaxRequest.send(null);
sJsFragment = ajax.responseText;//得到字符串為js片段
eval(sJsFragment);//執(zhí)行js片段
注意:這里要求my.js即后來的sJsFragment內(nèi)容得是非常規(guī)范的js,切沒有//開頭的注釋,怎樣檢查js是否規(guī)范呢?去http://jslint.com/
6.無所不能的Dom方法,這個我最早在Yahoo的前端代碼中見到,非常厲害,也寫的詳細(xì)些:
var oScript = document.createElement("script");//創(chuàng)建一個Script元素
oScript.src = "my.js";//制定src屬性
document.getElementsByTagName("head")[0].appendChild(oScript);
說明:my.js的內(nèi)容會在oScript加入到文檔中之后獲得并執(zhí)行。仔細(xì)看下這段容易發(fā)現(xiàn)這個調(diào)用是異步的,可以在文檔載入之后通過事件觸發(fā),我用它變通了一下,作為了xmlHttpRequest的Get方法在跨域取數(shù)時的替代,獲得了很完美的效果,以后有機會專門寫篇文。
六種不少吧,可能還會有吧,而且這幾種之間還可能相互嵌套,變化無常。
其中1、2、4、6種方式引入的JavaScript的執(zhí)行順序是非常自然的,隨著頁面的載入以及后續(xù)的事件觸發(fā),它們遵守先來后到、而其內(nèi)部自上而下。
我們主要關(guān)注的是第3、4種引入js方法帶來的問題(轉(zhuǎn)帖請注明出處:http://blog.csdn.NET/lenel)

JavaScript技術(shù)JavaScript 全面解析各種瀏覽器網(wǎng)頁中的JS 執(zhí)行順序,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产精品久久久久网站 | 99福利在线 | 呦呦国产| 欧美成人午夜精品免费福利 | 午夜国产福利在线观看 | 欧美激情一区二区三区在线 | www.四色.com| 香蕉碰碰人人a久久动漫精品 | 伊人四虎 | 加勒比一到三区 | 欧美aav| 国产成人一区二区视频在线观看 | www.91在线播放 | 婷婷免费视频 | 欧美一级www | 国产成在线观看免费视频 | 伊人网国产 | 91精品国产综合久久婷婷 | 成人影视大全 | 国产午夜在线观看视频播放 | 婷婷深爱| 黄色高清视频在线观看 | 精品国产福利片在线观看 | 国产福利萌白酱喷水视频铁牛 | 在线免费观看色视频 | 91久久国产精品视频 | 久久久久久亚洲精品中文字幕 | 久久青草视频 | 91青青国产在线观看免费 | 国产视频精品久久 | 目韩一区二区三区系列片丶 | 探花在线播放 | 久久视热这只是精品222 | 伊人久久青青 | 成人欧美日韩视频一区 | 国产精品欧美亚洲 | 无遮挡毛片a级武则天 | 视频区 图片区 小说区 | 色婷婷一区 | 久久麻豆精品 | 亚洲最大的成人网 |