首頁 web前端 js教程 <script defer> defer 是什么意思_基础知识

<script defer> defer 是什么意思_基础知识

May 16, 2016 pm 06:53 PM
defer script

程序下载完后再进行解析和执行。
文档上说defer中的代码不立即执行,页面会继续载入,那defer中的代码具体在什么时候执行呢?在全部javascript代码载入之后?页面载入之后?onload之前还是之后?

答案是:

并不是说在网页载入时不执行,可以在网页写一个SCRIPT.然后定义它,但是在载入时它还是执行了,
后来在找其它的东东时发现,因为它不有个子, 不知它是如何用,
原来它是在你的网页已截入完成后,你想动态添加一个新的<script>时用的,如果你只是object.innerHTML = "<script" + ">"..."</script>" + ">";
那么当你调用你这个新定义的东东就会出错,说还未定义,当你在上面的代码加入defer时那么你就能成功调用它,
在下面的代码中你可以试下把它去掉, defer>";,那么你就会发现问题!

<script> <BR>function insertScript(){ <BR>var sHTML="<input type=button onclick=" + "go2()" + " value='Click Me'><BR>"; <BR>var sScript="<SCRIPT defer>"; <BR>sScript = sScript + "function go2(){ alert('Hello from inserted script.') }"; <BR>sScript = sScript + "</script>" + ">";
ScriptDiv.innerHTML = sHTML + sScript;
}






//defer属性指示该段脚本不会改变文档的内容。在文档完全显示之前,js解释器不执行这段代码。
具体到这个例子,因为js不允许动态生成js代码,所以去掉defer后产生的代码会被认为是非法的。加上defer后的代码,会被解释器认为是载入页面的时候跳过去的,可以执行。


中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题


<script> <BR>myButton.click(); <BR></script>

<script> <BR>myButton.click(); <BR></script>




加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload 更灵活!

defer是脚本程序强大功能中的一个“无名英雄”。它告诉浏览器Script段包含了无需立即执行的代码,并且,与SRC属性联合使用,它还可以使这些脚本在后台被下载,前台的内容则正常显示给用户。
--但是 文档加载完毕了再执行脚本

最后请注意两点:
1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。
2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。

一个常用的优化性能的方法是:当脚本不需要立即运行时,在<script>标签中设置“defer”属性。 (立即脚本没有被包含在一个function块中,因此会在加载过程中执行。) 设置“defer”属性后,IE就不必等待该脚本装载和执行完毕。这样页面加载会更快。一般来说,这也表明立即脚本最好放在function块中,并在document或者body对象的onload 句柄中处理该函数。在有一些脚本需要依赖用户操作而执行时----例如点击按钮,或者移动鼠标到某个区域----使用该属性非常有用。但当有一些脚本需要在页面加载过程中或加载完成后执行,使用defer属性得到的好处就不太大。 </script>
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

script的意思是什麼 script的意思是什麼 Aug 29, 2023 pm 02:00 PM

script是指劇本或腳本的意思。在電影、電視、戲劇等藝術形式中,script用來描述角色的對話、動作和場景,以及故事的發展和結構。 script的編寫需要一定的技巧和經驗,而且應該生動、有力,能夠吸引觀眾的注意力,並傳達出故事的情感和主題。 script在電影和電視產業中特別重要,是創作的基礎,決定了電影的故事情節、角色發展和對話內容。 script是藝術家創作和表達的重要工具。

script是什麼 script是什麼 Oct 12, 2023 am 10:04 AM

在電腦科學領域中,"script"通常表示一種腳本語言或腳本檔案,腳本語言是一種解釋性程式語言,通常用於自動化、批次和快速原型開發等任務。

Go 語言中的 defer 關鍵字是什麼? Go 語言中的 defer 關鍵字是什麼? Jun 11, 2023 am 09:10 AM

Go語言中的defer關鍵字是什麼?在編寫程式時,我們經常需要在某個函數或方法執行完畢後,執行一些清理或資源釋放工作。這個時候,Go語言提供了一種方便的機制,透過使用defer關鍵字,可以將這些清理或資源釋放工作推遲到函數或方法返回之前執行。 defer關鍵字是一個編譯時解析的語法糖,它透過將一個函數或方法的呼叫推遲到當前函數或方法傳回之前執行,

scripterror怎麼解決 scripterror怎麼解決 Oct 18, 2023 am 09:44 AM

scripterror的解決方法有檢查語法、檔案路徑、檢查網頁連線、瀏覽器相容性、使用try-catch語句、使用開發者工具進行偵錯、更新瀏覽器和JavaScript程式庫或尋求專業協助等。詳細介紹:1、檢查語法錯誤:Script Error可能是由於JavaScript程式碼中存在語法錯誤導致的,使用開發者工具來檢查程式碼並修復語法錯誤,確保程式碼中的括號、引號、分號等都是正確的等等。

script是css的標籤嗎 script是css的標籤嗎 Mar 01, 2021 am 10:23 AM

script不是css的標籤,是HTML中的一個標籤,該標籤用於定義客戶端腳本,例如JavaScript;script元素既可以包含腳本語句,也可以透過src屬性指向外部腳本文件,語法「<script>//程式碼</script>」或「<script src="腳本檔案地址"></script>」。

Go語言中延遲執行語句是什麼 Go語言中延遲執行語句是什麼 Jan 11, 2023 pm 06:28 PM

在Go語言中,延遲執行語句是defer語句,語法「defer 任意語句」。 defer語句會將其後面跟隨的語句進行延遲處理,在defer歸屬的函數即將返回時,將延遲處理的語句按defer的逆序進行執行;也就是說,先被defer的語句最後被執行,最後被defer的語句,最先被執行。

golang函數的defer和panic golang函數的defer和panic Apr 20, 2024 am 11:06 AM

defer和panic關鍵字用於控制異常和後置處理:defer:將函數壓入棧,在函數返回後執行,常用於釋放資源。 panic:拋出異常,中斷程式執行,用於處理無法繼續運作的嚴重錯誤。區別:defer僅在函數正常返回時執行,而panic會在任何情況下執行,即使發生錯誤。

Golang函數的defer關鍵字的多種用法 Golang函數的defer關鍵字的多種用法 May 17, 2023 am 09:01 AM

Golang是一種非常流行的程式語言,其語言特性非常豐富,其中之一就是使用defer關鍵字來完成一些特定的功能。在本文中,我們將會介紹多種使用defer關鍵字的方式。延遲函數的執行在Golang中,defer關鍵字最常用的功能就是延遲函數的執行。這意味著,當函數執行完畢之後,被defer關鍵字包裝的函數會延遲執行。例如,我們可以使用defer關鍵字來列印日

See all articles