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

程序下载完后再进行解析和执行。
文档上说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
script的意思是什么script的意思是什么Aug 29, 2023 pm 02:00 PM

script是指剧本或脚本的意思。在电影、电视、戏剧等艺术形式中,script用于描述角色的对话、动作和场景,以及故事的发展和结构。script的编写需要一定的技巧和经验,而且应该生动、有力,能够吸引观众的注意力,并传达出故事的情感和主题。script在电影和电视行业中尤为重要,是创作的基础,决定了电影的故事情节、角色发展和对话内容。script是艺术家们创作和表达的重要工具。

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

计算机科学领域中,"script"通常表示一种脚本语言或脚本文件,脚本语言是一种解释性编程语言,通常用于自动化、批处理和快速原型开发等任务。

scripterror怎么解决scripterror怎么解决Oct 18, 2023 am 09:44 AM

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。详细介绍:1、检查语法错误:Script Error可能是由于JavaScript代码中存在语法错误导致的,使用开发者工具来检查代码并修复语法错误,确保代码中的括号、引号、分号等都是正确的等等。

Go 语言中的 defer 关键字是什么?Go 语言中的 defer 关键字是什么?Jun 11, 2023 am 09:10 AM

Go语言中的defer关键字是什么?在编写程序时,我们经常需要在某个函数或方法执行完毕后,执行一些清理或资源释放工作。这个时候,Go语言提供了一种方便的机制,通过使用defer关键字,可以将这些清理或资源释放工作推迟到函数或方法返回之前执行。defer关键字是一个编译时解析的语法糖,它通过将一个函数或方法的调用推迟到当前函数或方法返回之前执行,

script是css的标签吗script是css的标签吗Mar 01, 2021 am 10:23 AM

script不是css的标签,是HTML中的一个标签,该标签用于定义客户端脚本,比如JavaScript;script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件,语法“<script>//代码</script>”或“<script src="脚本文件地址"></script>”。

Golang函数的defer关键字的多种用法Golang函数的defer关键字的多种用法May 17, 2023 am 09:01 AM

Golang是一种非常流行的编程语言,其语言特性非常丰富,其中之一就是使用defer关键字来完成一些特定的功能。在本文中,我们将会介绍多种使用defer关键字的方式。延迟函数的执行在Golang中,defer关键字最常用的功能就是延迟函数的执行。这意味着,当函数执行完毕之后,被defer关键字所包装的函数会延迟执行。例如,我们可以使用defer关键字来打印日

Go语言中延迟执行语句是什么Go语言中延迟执行语句是什么Jan 11, 2023 pm 06:28 PM

在Go语言中,延迟执行语句是defer语句,语法“defer 任意语句”。defer语句会将其后面跟随的语句进行延迟处理,在defer归属的函数即将返回时,将延迟处理的语句按defer的逆序进行执行;也就是说,先被defer的语句最后被执行,最后被defer的语句,最先被执行。

golang函数的defer和panicgolang函数的defer和panicApr 20, 2024 am 11:06 AM

defer和panic关键字用于控制异常和后置处理:defer:将函数压入栈,在函数返回后执行,常用于释放资源。panic:抛出异常,中断程序执行,用于处理无法继续运行的严重错误。区别:defer仅在函数正常返回时执行,而panic会在任何情况下执行,即使发生错误。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!