在HTML中使用JavaScript

<script>元素

  • 向HTML页面中插入JavaScript的主要方法,就是使用<script>元素
  • <script>的六个属性:

    • async,可选,表示应该立即下载脚本,不妨碍页面其他操作,只对外部脚本有效。
    • charset,可选,表示通过src属性指定的代码的字符集,大多数浏览器会忽略。
    • defer,可选,表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本有效。
    • language,已废弃,原来用于表示编写代码使用的脚本语言。
    • src,可选,表示要执行代码的外部文件。
    • type,可选,代替language,值为text/javascript
  • 包含在<script>元素内部的JavaScript代码将被从上至下一次解释。
  • 浏览器遇到字符串"</script>"时,就会认为那是结束的标签,通过转义字符可以解决这个问题。alert("</script>")
  • 在解析嵌入式JavaScript或者外部JavaScript文件时,页面的处理会暂时停止。
  • 带src属性的<script>元素不应该在这对儿标签之间包含额外的JavaScript代码。
  • 只要不存在defer和async属性,浏览器都会按照<script>元素在页面中出现的先后顺序对它们依次进行解析。
  • H4为<script>元素定义了defer属性,这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。
  • H5为<script>元素定义了async属性,与defer类似。与defer不同的是,async不保证它们的先后执行顺序。

文档模式

  • 文档模式分为混杂模式(quirks mode)和标准模式(standards mode)
  • 混杂模式会让IE的行为与IE5相同。标准模式让IE的行为更接近标准行为。主要影响CSS的呈现。

    • 在标准模式中width是实际内容的宽度,这个元素的宽度是边距+内容宽度,也就是左右margin+左右padding+左右border+width
    • 在混杂模式中width就是元素的实际宽度
    • 在标准模式中,给span等行内元素设置宽高都不会生效
    • 在混杂模式中,给行内元素设置宽高可以生效
    • 在标准模式中,一个元素的高度有内容来决定,如果父元素没有高度,那么子元素对高度设置百分比是无效的。

神膘护体小月半
406 声望6 粉丝