JS0-简单介绍

脚本语言

常见的客户端脚本语言有:javascript,VBScript;

常见的服务器端脚本语言有:PHP,jsp,asp。

历史

1995 —- JavaScript

1997 —- ECMAScript : Euripean Computer Manufacturers Association(欧洲计算机制造商协会)

本质

一种专为与网页交互而设计的脚本语言

局限性

JavaScript组成部分

  • 核心(ECMAScrip)
  • 文档对象模型(DOM)
  • 浏览器对象模型(BOM)

ECMAScript

  1. ECMA-262只是定义这门语言的基础,而在此基础上可以构建更完善的脚本语言。
  2. 常见的web浏览器只是ECMAAcript可能实现的宿主环境之一。
  3. 其它的宿主环境包括Node(一种服务器端JavaScript平台)和Adobe Flash。
  4. ECMA-262组成部分:
    1. 语法
    2. 类型
    3. 语句
    4. 关键字
    5. 保留字
    6. 操作符
    7. 对象

ECMAScript的版本

ECMA-262的最近一般第5版,发布于2009年

ECMAScript兼容

要想兼容ECMA-262:
1.支持ECMA-262描述的所有“类型、值、对象、属性和函数以及程序句法和语义”
2.支持Unicode字符标准
兼容扩展:
1.添加更多的类型、值、对象、属性和函数
2.添加”程序和正则表达式语法”

web浏览器对ECMAScript的支持

2008年,IE、Firefox、Safari、Chrome、Opera全部做到了与ECMA-262兼容。

文档对象模型(DOM)

文档对象模型:是针对XML但经过扩展用于HTML的应用程序编程接口(API)
DOM把整个页面映射为一个多层节点结构。

DOM1级

主要目标:映射文档结构
组成:

  • DOM核心(DOM Core)–如何映射基于XML的文档结果,一遍简化对文档中 任意部分的访问和操作。
  • DOM HTML–DOM核心的基础上加以扩展,添加了针对HTML的对象和方法。

DOM2级

扩展:
对鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块
通过对象接口增加了对CSS(Cascading Style Sheets)的支持。
新模块:

  • DOM视图(DOM Views):定义了跟踪不同文档的接口
  • DOM事件(DOM Events):定义了事件和事件的处理接口
  • DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口
  • DOM遍历和范围(DOM Traversal and Range):定义了变量和操作文档树的接口。

DOM3级

扩展:

  • 引入了统一的方式加载和保存文档的方法–DOM Load and Save
  • 新增了验证文档的方法 DOM Validation
  • DOM核心扩展,支持XML1.0

浏览器对象模型(BOM) Browser Object Model

支持可访问和操作浏览器窗口的浏览器对象(BOM)

只处理浏览器窗口和框架

html5增加了BOM规范

  • 弹出新浏览器的功能
  • 移动、缩放和关闭浏览器窗口的功能
  • 提过浏览器信息信息的navigator对象
  • 提过浏览器加载页面的详细信息的location对象
  • 提供用户显示器分辨率详细信息的screen对象
  • 对cookies的支持
  • 想XMLHtpRequest和IE的ActiveXObject这样的自定义对象

在HTML中使用JavaScript

<script>属性

  • async可选:表示立即下载脚本,但不应妨碍页面中的其它操作。h5中增加,只支持外部脚本,不保证按照指定它们的先后顺序执行。为了异步的加载页面其它内容。异步脚本不要在加载期间修改DOM。
  • charset可选:表示通过src属性指定的代码的字符集。
  • defer可选:表示脚本可以延迟到文档完全被解析和显示之后再执行。保证它们按照顺序执行。
  • language 已废弃。
  • src可选:表示要执行代码的外部文件。
  • type可选:表示编写代码使用的脚本语言的内容类型。

使用方式:
1.直接在页面中嵌入JavaScript代码
2.包含外部JavaScript代码

标签的位置

放在<head>元素中

优点:把所有外部文件(包括CSS文件和JavaScript文件)的引用都放在相同的地方。

缺点:

1.在文档的元素中包含所有JavaScript文件,必须等到全部的JavaScript代码都被下载,解析和执行完成以后,才能开始呈现页面的内容。

2.导致浏览器在呈现页面时出现明显的延迟,延迟期间浏览器将是一片空白。

放在<body>元素中页面的内容后面

优点:在解析包含的JavaScript代码之前,页面的内容将完全呈现在浏览器中,浏览器显示空白页的时间缩短而感到页面打开的速度加快。

延迟脚本 defer属性

异步脚本 async

文档模式

混杂模式(quirks mode)

标准模式(standards mode)

<!-- HTML 5-->
<!DOCTYLE html>

准标准模式

<noscript>元素可以指定在不支持脚本的浏览器中代替显示的内容,但是在启用了脚本的情况下,浏览器不会显示<noscript>元素中任何内容。

文章目录
  1. 1. 脚本语言
  2. 2. 历史
  3. 3. 本质
  4. 4. 局限性
  5. 5. JavaScript组成部分
    1. 5.1. ECMAScript
    2. 5.2. ECMAScript的版本
    3. 5.3. ECMAScript兼容
    4. 5.4. web浏览器对ECMAScript的支持
  6. 6. 文档对象模型(DOM)
    1. 6.1. DOM1级
    2. 6.2. DOM2级
    3. 6.3. DOM3级
  7. 7. 浏览器对象模型(BOM) Browser Object Model
  8. 8. 在HTML中使用JavaScript
    1. 8.1.
,