《JavaScript高级程序设计》第二章笔记

介绍

第二章主要介绍了如何在HTML文件中引入JavaScript代码。

<script>

<script>是在HTML文件中加载JavaScript代码的主要方法,主要有以下六个属性。

  1. async:optional。表示立即开始加载脚本,但不影响后面代码的运行。只针对external src。但是多个async的文件被解析的顺序是不被保证的。

    1
    <script async src="example.js">
  2. charset:optional。表示src加载的脚本使用的字符集,经常被忽略,不常用。

  3. defer:optional。表示脚本加载后会等到页面加载完再运行。只针对external src。

    1
    <script defer src="example.js">
  4. language:已废弃。

  5. src:引用的external src的路径。
  6. type:替代了language。表示加载的脚本的内容类型(MIME类型)。一般设置为text/javascript,不设置时默认也是text/javascript。但是服务器传送JavaScript文件时常用的MIME类型其实是application/x-javascript,在type中设置该值又会被忽略。我的理解是这个属性的设置要不不够准确要不不被理睬。

    注意事项

  7. <script>标签里面不可以出现任何</script>字符串,否则将被编译为script的结束。
    例如:
    1
    2
    3
    <script>
    alert("</script>");
    </script>

是一段不会被正常解析的代码。

  1. <script>里面又有external的src属性值,又有internal的JavaScript代码,会加载外部文件,内在代码会被忽略。

<noscript>

<noscript>tag可以在HTML文档中,除了<script>tag之外的任何地方,意思是说在<noscript>tag里面的东西,只有在满足以下两种条件任意一种的情况下才会被加载。

  1. 浏览器不支持脚本。
  2. 浏览器的脚本功能被禁用。
    1
    2
    3
    <noscript>
    <p>本页面需要script功能来加载。</p>
    </noscript>