zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计学习笔记第二章

    1.向 HTML 页面中插入 JavaScript 的主要方法,就是使用<script>元素

    2.HTML 4.01中定义了<script>元素的六个属性(方便记忆,可将6个属性分为3组)

    第一组:

    • async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。(使用<script>不属于外部脚本)
    • defer:可选。表示脚本可以立即下载,但是延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。

    第二组:

    • language:已废弃。原来用于表示编写代码使用的脚本语言(如 JavaScript、JavaScript1.2或 VBScript)。大多数浏览器会忽略这个属性,因此也没有必要再用了。
    • type:可选。可以看成是 language 的替代属性;表示编写代码使用的脚本语言的内容类型(也称为 MIME 类型)。

    第三组:

    • charset:可选。表示通过 src 属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。
    • src:可选。表示包含要执行代码的外部文件。可以是同一服务器上的文件,也可以是任何域上的文件。

    3.使用<script>元素的方式有两种:直接在页面中嵌入 JavaScript 代码(使用<script>元素)和包含外部 JavaScript文件(使用<script>标签的src属性)。
    4.使用嵌入式javascript代码的时候,代码内容中不能出现“</script>”字符串,因为浏览器遇到“</script>”字符串,就会认为是结束的</script>标签。如果一定要有,则使用准义字符</script>。

    5.在解析内嵌 JavaScript 代码时,包含在<script>元素内部的 JavaScript 代码将被从上至下依次解释,解析外部 JavaScript 文件(包括下载该文件)时,页面的处理也会暂时停止。

    6.带有 src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的 JavaScript 代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
    7.<script>标签包含的内容一般放在<head>标签内部,但由于javascript代码全部被下载、解析和执行情况下,页面会暂停动作,而浏览器要遇到<body>标签时才会呈现内容,如果放在<head>标签里,那么页面会有一段时间的空白显示,所以应该放在</body>标签之前,这样的页面的内容就完全呈现出来。

    8.如果有两个外部脚本都有defer属性(延迟脚本),理论上第一个脚本要先于第二个脚本执行,并且两个脚本会先于 DOMContentLoaded 事件执行。但实际上延迟脚本并不一定会按照顺序执行,也不一定会在 DOMContentLoaded 事件触发前执行,因此最好只包含一个延迟脚本。
    9.标记为 async 的脚本(异步脚本)并不保证按照指定它们的先后顺序执行,建议异步脚本不要在加载期间修改 DOM。一定会在页面的 load 事件前执行,但可能会在 DOMContentLoaded 事件触发之前或之后执行。

    10.文档模式:

    • 严格模式:
    1 <!-- HTML 4.01 严格型 -->
    2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    3 "http://www.w3.org/TR/html4/strict.dtd">
    • 过渡模式:比严格模式多了一些内容,例如允许标签的内置CSS属性
    1 <!-- HTML 4.01 过渡型 -->
    2 <!DOCTYPE HTML PUBLIC
    3 "-//W3C//DTD HTML 4.01 Transitional//EN"
    4 "http://www.w3.org/TR/html4/loose.dtd">
    • 框架模式:在过渡模式的基础上可以使用<frame>标签,添加框架
    1 <!-- HTML 4.01 框架集型 -->
    2 <!DOCTYPE HTML PUBLIC
    3 "-//W3C//DTD HTML 4.01 Frameset//EN"
    4 "http://www.w3.org/TR/html4/frameset.dtd">

    XHTML比HTML 4.01更加严格一些,也有三种模式,html5只有一种模式。

    11.使用<noscript>元素可以再浏览器不支持会禁用的javascript代码的情况下实现平稳退化,支持浏览器的情况下,<noscript>标签中的内容不会显示。

  • 相关阅读:
    mapbox-gl开发:deck.gl轨迹图效果
    vscode双击选中单词,设置短横线不分隔
    CSS自定义滚动条样式,兼容IE浏览器
    flv 视频播放器
    mapbox、echarts实现地图流动效果
    echarts 小时图
    deckgl-triplayer流动效果
    vue使用flv视频监控组件
    qt学习中遇到的问题及处理方法
    GitHub入门
  • 原文地址:https://www.cnblogs.com/yangxiaoguai132/p/5179219.html
Copyright © 2011-2022 走看看