第一章 JavaScript简介 第二章 在HTML中使用JavaScript

JavaScript诞生于1995年,1997年以JavaScript1.1 为蓝本的建议被提交给了ECMA组织,形成了ECMAScript标准。1998年ISO/IEC也采用了ECMAScript作为标准,自此,ECMAScript成为了JavaScript实现的基础。

一、javascript实现

一个完整的javascript实现应由下列三个不同的部分组成。

□ 核心(ECMAScript)
□ 文档对象模型(DOM)
□ 浏览器对象模型(BOM)

二、ECMAScript

ECMA-262定义的ECMAScript与Web浏览器没有依赖关系,它并不包含输入和输出定义,只是ECMAScript语言的基础。

1、文档对象模型(DOM)

DOM是针对XML但经过扩展用于HTML的应用程序编程接口。
DOM把整个页面映射为衣蛾多层结点结构。
eg:

<html>
    <head>
        <title>Sample Page</title>
    </hedad>
    <body>
        <p>Hello World!</p>
    </body></html>

DOM树结构如下:

浏览器对象模型(BOM)

BOM没有标准可以遵循。

总结

javascript是一种专为与网页交互而设计的脚本语言,由一下三个不同的部分组成:
□ ECMAScript,由ECMA-262定义,提供核心语言功能;
□ 文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
□ 浏览器对象模型(BOM),提供与浏览器交互的方法和接口,

<script>元素

使用<script>元素向HTML页面中插入JavaScript,HTML4.01为<script>定义了6个属性。

  1. async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
  2. charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这属性很少有人用。
  3. defer: 可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7及更早八本对嵌入脚本也支持这个属性。
  4. language:已废弃。
  5. src:可选。表示包含要执行代码的外部文件。
  6. type:可选。可以看成是language的替代属性;表示编写代码使用的脚本怨言的内容类型(也称为MIME类型)。

标签的位置

按照惯例,所有<script>元素都应该放在页面的<head>元素中。
为了避免浏览器等待javaScript代码下载、解析和执行完成以后才开始呈现页面内容,一般都把全部JavaScript引用放在<body>元素中页面的内容后面。

延迟脚本

defer属性用于表明脚本在执行时不会影响页面的构造。

<!DOCTYPE html><html>
    <head>
    <title>Example HTML Page</title>
    <script type="text/javascript" defer="defer" src="example1.js"></script>
    <script type="text/javascript" defer="defer" src="example2.js"></script>
    </head>
    <body>
        <!-- 这里放内容 -->
    </body></html>

以上代码中的js文件会延迟到浏览器遇到</html>标签后再执行。
HTML5规范要求脚本按照它们出现的先后顺序执行,因此第一个延迟脚本会先于第二个延迟脚本执行,而这两个脚本会先于DOMContentLoaded时间执行。
在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMConbtentLoaded事件触发前执行,因此最好只包含一个延迟脚本。

异步脚本

async属性告诉浏览器立即下载文件,但并不立即执行。
eg:

<!DOCTYPE html>
<html>
    <head>
    <title>Example HTML Page</title>
    <script type="text/javascript" async src="example1.js"></script>
    <script type="text/javascript" async src="example2.js"</script>
    </head>
    <body>
        <!-- 这里放内容 -->
    </body>
<html>

异步脚本一定会在页面load事件前执行,但可能会在DOMContentLoaded事件触发之前或之后执行。
支持异步脚本的浏览器有Firefox3.6、Safari5和Chrome。

※在XHTML文档中,要吧async属性设置为async="async"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值