最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解javascript中defer的作用

 更新時間:2013年12月11日 08:53:46   作者:  
這篇文章主要是對javascript中defer的作用進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

很多人都已經(jīng)把 Javascript的用的爐火純青了,但見到defer未必就知道他是做什么用的;很多人也都遇到過這樣的問題,需要直接執(zhí)行別且操作DOM對象的js 總是報找不到對象的錯誤,原因大家也都知道就是頁面還有沒有加載完畢,js的操作對象還在下載中。但很多人都不知道,添加defer標(biāo)簽就能輕而易舉的解決這個問題。

<script src="../CGI-bin/delscript.js" defer></script>

中的defer作用是文檔加載完畢了再執(zhí)行腳本,這樣回避免找不到對象的問題---有點問題

復(fù)制代碼 代碼如下:

<button id="myButton" onclick="alert('ok')">test</button>
<script>
myButton.click();
</script>

<script>
myButton.click();
</script>
<button id="myButton" onclick="alert('ok')">test</button>

<script defer>
function document.body.onload() {
alert(document.body.offsetHeight);
}
</script>


加上 defer 等于在頁面完全在入后再執(zhí)行,相當(dāng)于 window.onload ,但應(yīng)用上比 window.onload 更靈活!

defer是腳本程序強大功能中的一個“無名英雄”。它告訴瀏覽器Script段包含了無需立即執(zhí)行的代碼,并且,與SRC屬性聯(lián)合使用,它還可以使這些腳本在后臺被下載,前臺的內(nèi)容則正常顯示給用戶。

--但是 文檔加載完畢了再執(zhí)行腳本

請注意兩點:

1、不要在defer型的腳本程序段中調(diào)用document.write命令,因為document.write將產(chǎn)生直接輸出效果。

2、而且,不要在defer型腳本程序段中包括任何立即執(zhí)行腳本要使用的全局變量或者函數(shù)。

一個常用的優(yōu)化性能的方法是:當(dāng)腳本不需要立即運行時,在<SCRIPT>標(biāo)簽中設(shè)置“defer”屬性。 (立即腳本沒有被包含在一個function塊中,因此會在加載過程中執(zhí)行。) 設(shè)置“defer”屬性后,IE就不必等待該腳本裝載和執(zhí)行完畢。這樣頁面加載會更快。一般來說,這也表明立即腳本最好放在function塊中,并在 document或者body對象的onload 句柄中處理該函數(shù)。在有一些腳本需要依賴用戶操作而執(zhí)行時----例如點擊按鈕,或者移動鼠標(biāo)到某個區(qū)域----使用該屬性非常有用。但當(dāng)有一些腳本需要在頁面加載過程中或加載完成后執(zhí)行,使用defer屬性得到的好處就不太大。

script中的defer屬性默認情況下是false的。按照DHTML編程寶典中的描述,對于Defer屬性是這樣寫的:

Using the attribute at design time can improve the download performance of a page because the browser does not need to parse and execute the script and can continue downloading and parsing the page instead.

也就是說:如果是編寫腳本的時候加入defer屬性,那么瀏覽器在下載腳本的時候就不必立即對其進行處理,而是繼續(xù)對頁面進行下載和解析,這樣會提高下載的性能。

這樣的情況有很多種。比如你定義了很多javascript變量,或者在引用文件(.inc)中寫了很多的腳本需要處理,那不妨在這些腳本中加入defer屬性,對性能的提高肯定有所幫助。

舉例如下:

復(fù)制代碼 代碼如下:

<script language="javascript" defer>
var object = new Object();
....
</script>

因為defer屬性默認是為false的,那么在這里

<script language="javascript" defer>

顯式聲明defer屬性后等同于

<script language="javascript" defer=true>

聲明了defer屬性之后,需要判斷是否有別的變量引用了defer腳本塊中的變量,否則的話會導(dǎo)致腳本錯誤的產(chǎn)生。

相關(guān)文章

  • Javascript新手入門之字符串拼接與變量的應(yīng)用

    Javascript新手入門之字符串拼接與變量的應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Javascript新手入門之字符串拼接與變量應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 在網(wǎng)頁中使用document.write時遭遇的奇怪問題

    在網(wǎng)頁中使用document.write時遭遇的奇怪問題

    很多時候我們都會在網(wǎng)頁上的JavaScript中使用document.write來寫入一些東西,有的時候可能因為我們無法改變某一部分HTML而不得不使用這樣的辦法,也有的時候是因為在進行跨應(yīng)用的腳本調(diào)用。
    2010-08-08
  • js以及jquery實現(xiàn)手風(fēng)琴效果

    js以及jquery實現(xiàn)手風(fēng)琴效果

    這篇文章主要為大家詳細介紹了js版本實現(xiàn)手風(fēng)琴效果和jquery版本實現(xiàn)的手風(fēng)琴效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 前端echarts加標(biāo)記點及標(biāo)記線和提示框詳細代碼示例

    前端echarts加標(biāo)記點及標(biāo)記線和提示框詳細代碼示例

    ECharts中的標(biāo)記線是一條平行于x軸的水平線,有最大值、最小值、平均值等數(shù)據(jù)的標(biāo)記線,它也是在series字段下進行配置的,下面這篇文章主要給大家介紹了關(guān)于前端echarts加標(biāo)記點及標(biāo)記線和提示框的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • 詳解JavaScript中的閉包是如何產(chǎn)生的

    詳解JavaScript中的閉包是如何產(chǎn)生的

    這篇文章主要為大家詳細介紹了從內(nèi)存管理的角度來看,JavaScript中的閉包是如何產(chǎn)生的。文中的示例代碼簡潔易懂,感興趣的小伙伴可以了解一下
    2022-12-12
  • zeroclipboard 單個復(fù)制按鈕和多個復(fù)制按鈕的實現(xiàn)方法

    zeroclipboard 單個復(fù)制按鈕和多個復(fù)制按鈕的實現(xiàn)方法

    最近網(wǎng)站改版想讓復(fù)制代碼功能在多個瀏覽器上都可以實現(xiàn),最近看網(wǎng)上不少說我們的代碼復(fù)制功能不好用的,我們最近將會增加代碼高亮等功能,希望大家多多支持我們
    2014-06-06
  • javascript實現(xiàn)網(wǎng)頁背景煙花效果的方法

    javascript實現(xiàn)網(wǎng)頁背景煙花效果的方法

    這篇文章主要介紹了javascript實現(xiàn)網(wǎng)頁背景煙花效果的方法,涉及javascript數(shù)學(xué)運算及頁面元素動態(tài)操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • js實現(xiàn)單擊可修改表格

    js實現(xiàn)單擊可修改表格

    這篇文章主要為大家詳細介紹了js實現(xiàn)單擊可修改表格,類似成績單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 用js實現(xiàn)輪播圖效果

    用js實現(xiàn)輪播圖效果

    這篇文章主要為大家詳細介紹了用js實現(xiàn)輪播圖,播放上一張,下一張,可選取第幾張等效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Javascript中數(shù)組方法匯總(推薦)

    Javascript中數(shù)組方法匯總(推薦)

    這篇文章主要介紹了Javascript中數(shù)組方法匯總(推薦),需要的朋友可以參考下
    2015-04-04

最新評論

克拉玛依市| 布尔津县| 佛坪县| 乌拉特中旗| 聂荣县| 宿迁市| 益阳市| 鄢陵县| 安图县| 崇明县| 库车县| 呈贡县| 永吉县| 阿克苏市| 西城区| 阿克苏市| 安康市| 苏州市| 丽水市| 宁夏| 孝昌县| 富裕县| 康乐县| 朝阳县| 田东县| 富平县| 肃宁县| 成都市| 乌恰县| 内江市| 慈利县| 渑池县| 陈巴尔虎旗| 通海县| 凯里市| 扬中市| 定州市| 灵台县| 古蔺县| 德清县| 龙胜|