<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李威 さぽている

    小說翻譯,日語相關轉移至http://blog.hjenglish.com/liwei

    javascript代碼的執行順序

    這個不弄明白,代碼出問題了也不難以解決。
    《learning Jquery 1.3》p15有一句  JavaScript code is generally run as soon as it is encountered in the browser
    也就是說,瀏覽器遇到一個語句就立刻解析。貌似這個問題很快就解決了。

    但javascript的寫法相當多,譬如網上很多人討論的$(document).ready(和<body onload= 執行先后問題
    在p16中,提到onload    to run after the page is completely loaded.即onload在頁面完全加載完之后執行
    ready是firing once the DOM is loaded—without waiting for images 。ready在DOM加載完,圖片未加載時執行。
    也即ready在onload之前調用。

    這里就涉及html頁面的加載順序問題。網上搜到2篇相關文章。
    瀏覽器做了什么?
    http://www.cnblogs.com/guilipan/archive/2010/01/06/1640145.html
    Javascript在頁面加載時的執行順序
    http://dancewithnet.com/2007/03/22/order-of-execution-of-javascript-on-web/

    看完之后,比之前明白了些,但具體的關系還是沒能理解。
    一個html頁面包括head和body兩個部分,head部會調用外部CSS和JS文件,body部會調用圖片,音視頻等內容。
    下載順序是html ->CSS JS ->圖片等。
    解析順序是html(內部是按序執行head->body)->DOM生成 ->ready執行 ->圖片下載 ->body.onload

    將以上兩者結合,html ->head(CSS JS) ->body->DOM生成 ->ready執行 ->圖片下載 ->body.onload
    其中head和body部都可能包含js,按代碼順序執行。
    這里就有一個疑問,瀏覽器會等待JS等文件下載完后,并順序執行該JS后再繼續執行之后的html代碼么?
    按想應該不會,不然JS文件過大,會影響html頁面渲染的速度,兩者應該是異步的。
    但這個異步就會將之前總結的順序攪亂。譬如onload都執行完了,包含ready的JS還沒下完,此時會發生什么?
    這里說得有問題,JS未下載完,onload是不會執行的。
    有待繼續總結……

    posted on 2010-03-11 00:18 李威 閱讀(470) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 在线视频免费观看www动漫| 亚洲综合免费视频| 亚洲人成电影院在线观看| 国产成人精品高清免费| 免费看成人AA片无码视频吃奶| 亚洲欧洲久久精品| 亚洲永久无码3D动漫一区| 国产网站在线免费观看| 亚洲国产精品免费观看| 24小时免费看片| 七色永久性tv网站免费看| 99精品免费视频| 美女网站在线观看视频免费的| 杨幂最新免费特级毛片| 亚洲精品国产suv一区88| 国产v亚洲v天堂a无| 亚洲另类古典武侠| 2020亚洲男人天堂精品| 亚洲香蕉免费有线视频| 亚洲精品国产啊女成拍色拍| 久久久久亚洲av无码尤物| 亚洲人精品午夜射精日韩| 亚洲一卡2卡三卡4卡有限公司| 国产AV无码专区亚洲AV男同 | 亚洲av成人无码久久精品| 中文字幕专区在线亚洲| 亚洲精品国产精品乱码不卞| 亚洲精品无码久久久| 久久久久亚洲AV成人无码| 亚洲一级黄色大片| 特级毛片免费观看视频| 国产精品免费久久| 96免费精品视频在线观看| 免费一本色道久久一区| 亚洲福利视频一区二区| 亚洲欧洲∨国产一区二区三区| 亚洲精品电影在线| 免费精品久久久久久中文字幕| 最好免费观看高清在线| 成年人免费网站在线观看| 亚洲人成图片小说网站|