国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

Javascript的Defer屬性

2024-09-06 12:40:49
字體:
供稿:網(wǎng)友
Script中的Defer屬性

如果你是一個對系統(tǒng)性能比較關(guān)心和在意的人,我想你應(yīng)該會對Script腳本中的defer屬性感興趣的。
script中的defer屬性默認(rèn)情況下是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屬性,那么瀏覽器在下載腳本的時候就不必立即對其進(jìn)行處理,而是繼續(xù)對頁面進(jìn)行下載和解析,這樣會提高下載的性能。
這樣的情況有很多種。比如你定義了很多javascript變量,或者在引用文件(.inc)中寫了很多的腳本需要處理,那不妨在這些腳本中加入defer屬性,對性能的提高肯定有所幫助。
舉例如下:

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

因為defer屬性默認(rèn)是為false的,那么在這里
<script language="javascript" defer>
顯式聲明defer屬性后等同于
<script language="javascript" defer=true>

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

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

最后請注意兩點:  

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

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

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

比較下面的3個例子:


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

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

<script>
myButton.click();
</script>
<button id="myButton" onclick="alert('ok')">test</button>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿城市| 比如县| 余干县| 河北省| 宣恩县| 黔南| 宿松县| 弥渡县| 汉源县| 郑州市| 杨浦区| 宽甸| 陇西县| 壤塘县| 四平市| 昌都县| 新绛县| 连州市| 清流县| 滕州市| 霍州市| 无锡市| 绍兴县| 宜宾县| 晋州市| 垣曲县| 汝阳县| 潢川县| 安顺市| 蕲春县| 兴安县| 十堰市| 永定县| 秭归县| 南皮县| 八宿县| 奇台县| 辽源市| 明光市| 常德市| 浦县|