이번에는 HTML에서 JS를 사용하는 방법에 대해 요약해보겠습니다. HTML에서 JS를 사용할 때 주의사항은 무엇인가요?
JavaScript는 브라우저에 내장된 스크립트 언어입니다. 웹페이지에 자바스크립트 스크립트가 삽입되어 있고 브라우저가 웹페이지를 로드하면 스크립트를 실행하여 브라우저를 작동하고 다양한 동적 효과를 얻습니다.
<script type="text/javascript"> function sayHello() { alert("hello!"); } </script>
<script>
元素直接嵌入代码<script type="text/javascript" src="example.js"></script>
<script>
元素加载外部脚本<script src="a.js" defer></script> <script src="b.js" defer></script>
<script>
标签相关属性
<script>
标签默认就是JavaScript代码,嵌入javascript脚本时,type属性可以省略
如果type属性的值,浏览器不认识,就不会执行其中的代码,所以可以在<script>
标签中嵌入任意的文本内容,只要加上一个浏览器不认识的type属性就行,浏览器不会执行也不会显示它的内容,但是这个<script>
节点依然存在于DOM之中,可以使用<script>
节点的text属性读取它的内容
<script src="a.js" async></script> <script src="b.js" async></script>
defer属性的运行流程:
浏览器开始解析HTML网页
解析过程中,发现带有defer属性的<script>
元素
浏览器继续往下解析HTML网页,同时并行下载<script>
元素加载的外部脚本
浏览器完成解析HTML网页,此时再回过头执行已经下载完成的脚本
需要注意:
异步加载资源
按照顺序执行脚本
使用defer加载的外部脚本不应该使用document.write方法
['a.js', 'b.js'].forEach(function(src) { var script = document.createElement('script'); script.src = src; script.async = false; document.head.appendChild(script); });
async属性的运行流程:
浏览器开始解析HTML网页
解析过程中,发现带有async属性的<script>
标签
浏览器继续往下解析HTML网页,同时并行下载<script>
标签中的外部脚本
脚本下载完成,浏览器暂停解析HTML网页,开始执行下载的脚本
脚本执行完毕,浏览器恢复解析HTML网页
需要注意:
异步加载资源
并不会按照顺序执行JS,谁先下载完,谁就先执行
使用async加载的外部脚本不应该使用document.write方法
都能解决“阻塞效应”
都是异步加载资源,但执行顺序不一样
如果脚本之间没有依赖关系,就使用async属性,如果脚本之间有依赖关系,就使用defer属性
不会阻塞页面渲染
async设置为false可以保证b.js在a.js后面执行
在这段代码后面加载的脚本文件,会等在b.ja执行完成后再执行
包含在<script>
2, <script>요소는 외부 스크립트를 로드합니다rrreee
<script> ;
태그 관련Attribute🎜🎜🎜type 속성<script>
태그는 기본적으로 JavaScript 코드로 설정됩니다. JavaScript 스크립트를 삽입할 때 type 속성을 생략할 수 있습니다🎜<script>
태그에 텍스트 내용을 삽입할 수 있습니다. 브라우저가 인식하지 못하는 유형 속성만 추가하면 됩니다. 브라우저는 콘텐츠를 실행하거나 표시하지 않지만 이 <script>
노드는 여전히 DOM에 존재합니다. code> 노드의 콘텐츠를 읽습니다🎜<script>
요소가 발견되었습니다🎜 li><script>
요소에 의해 로드된 외부 스크립트를 병렬로 다운로드합니다🎜<script> ;
비동기 속성이 있는 태그가 발견되었습니다🎜<script>
에서 외부 스크립트를 다운로드합니다. > 태그를 병렬로🎜<script>
태그 내에 포함된 JavaScript 코드는 위에서부터 다음으로 구문 분석됩니다🎜코드가 어떤 방식으로 삽입되든 defer 및 async 속성이 없는 한 브라우저는 페이지에 나타나는 순서대로 <Script>
태그를 구문 분석합니다<Script>
标签在页面中出现的先后顺序对它们进行解析
加载外部脚本的优点:可维护性、可缓存、适应未来
<script>
맨 아래에 배치하는 이유 1. "차단 효과"를 피하기 위해. 2. DOM 구조가 생성되기 전에 DOM 노드
를 호출하면 오류가 발생합니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 다음 페이지의 다른 관련 기사를 참조하세요. PHP 중국어 웹사이트!
추천 도서:
MySQL 데이터베이스 액세스 거부 처리 방법
위 내용은 HTML에서 JS 메소드 사용 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!