《JavaScript高级程序设计》学习笔记(第二章)

来源:互联网 发布:ubuntu 拷贝文件命令 编辑:程序博客网 时间:2024/06/05 09:46

本笔记总结《JavaScript高级程序设计》一书的前七章内容,旨在提高作者的姿势水平,笔记内容仅供参考。


在HTML中使用JavaScript:

介绍了如何在HTML中使用JavaScript创建动态网页。这一章不仅展示了在网页中嵌入JavaScript的各种方式,还讨论了JavaScript内容类型(content-type)及其与<script>元素的关系。


1.<script>元素

HTML 4.01 为<script>定义了下列6个属性:

  1. async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效
  2. charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略他的值,因此这个属性很少有人用。
  3. defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7以及更早版本对嵌入脚本也支持这个属性。
  4. language:已废弃。
  5. src:可选。表示包含要执行代码的外部文件。
  6. type:可选。可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型(也成为MIME类型)。虽然text/javascript 和 text/ecmascript 都已经不被推荐使用,但人们一直以来使用的都还是text/javascript。实际上,服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,但在type中设置这个值却可能导致脚本被忽略。另外,在非IE浏览器中还可以使用以下值:application/javascript 和application/ecmascript。考虑到约定俗成和最大限度的浏览器兼容性,目前type属性的值还是text/javascript。默认为text/javascript
使用<script>元素的方式有两种:直接在页面中嵌入JavaScript代码和包含外部JavaScript文件。
1.在使用<script>元素嵌入JavaScript代码时,只须为<script>指定type属性。然后,像下面这样把JavaScript代码直接放在元素内部即可
<script type="text/javascript">function sayHi(){alert("Hi!");}</script>
包含在<script>元素内部的JavaScript代码将被从上至下依次解释。在解释器对<script>元素内部的所有代码求值完毕前,页面中的其余内容都不会被浏览器加载或显示。

2.如果要通过<script>元素来包含外部JavaScript文件,那么src属性就是必需的。这个属性的值时一个指向外部JavaScript文件的链接,例如
<script type="text/javascript" src="example.js"></script>
所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。在不使用defer和async属性的情况下,只有在解析完前面<script>元素中的代码之后,才会开始解析后面的<script>元素中的代码。
由于浏览器会先解析完不使用defer属性的<script>元素中的代码,然后再解析后面的内容,所以一般应该把<script>元素放在页面最后,即主要内容后面,</body>标签前面。
使用defer属性可以让脚本在文档完全呈现之后再执行。延迟脚本总是按照指定它们的顺序执行。
使用async属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行。

阅读全文
0 0
原创粉丝点击