《JavaScript 高程》笔记——chapter1/2 简介

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




1、ECMAScript

规定了这门语言的下列组成部分:
  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 对象

2、文档对象模型(DOM)

DOM是针对XML但经过扩展用于HTML的应用程序编程接口(API, Application Programming Interface)。
DOM把整个页面映射为一个多层节点结构

DOM级别:
  • DOM1级:
主要用于映射文档的结构。
由两个模块组成:DOM核心(DOM Core) 和DOM HTML
  • DOM2级:
在原来DOM的基础上又扩充了鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对CSS的支持。
          引入新模块:
    • DOM视图:定义了跟踪不同文档视图的接口;                                              
    • DOM事件:定义了事件和事件处理的接口;
    • DOM样式:定义了基于CSS为元素应用样式的接口;
    • DOM遍历和范围:定义了遍历和操作文档的接口。
  • DOM3级:
引入了以统一方式加载和保存文档的方法——在DOM加载和保存(DOM Load and Save) 模块中定义;
新增了验证文档的方法——在DOM验证(DOM Validation)模块中定义。


3、浏览器对象模型(BOM)

根本上讲,BOM只是处理浏览器窗口和框架;

习惯上,也把所有针对浏览器的JavaScript扩展算作BOM的一部分:
  • 弹出新浏览器窗口的功能
  • 移动、缩放和关闭浏览器窗口的功能
  • 提供浏览器详细信息的navigator对象
  • 提供浏览器所加载页面的详细信息的location对象
  • 提供用户显示器分辨率详细信息的screen对象
  • 对cookies的支持
  • 像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象





在HTML中使用JavaScript


1、<script>元素

向HTML页面中插入JavaScript的主要方法,就是使用<script>元素。

方式有两种:
  • 直接嵌入
  • 引入外部 .js 文件
例如:<script type = "text/javascript" src="example.js"></script>

外部引用的优点:
  1. 可维护性
  2. 可缓存
  3. 适应未来

无论是直接嵌入还是外部引入,只要不存在defer 和 async 属性,解释器对JavaScript代码是从上至下依次解析的。在解析完成之前,页面中的其余内容都不会被浏览器加载或显示。


2、标签的位置

传统做法是将所有<script>元素都放在页面的<head>元素中。对于那些需要很多JavaScript代码的页面来说,会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口一片空白。为了避免这一问题,一般把全部JavaScript引用放在<body>元素中页面内容的后面


3、延迟脚本

例子:<script type="text/javascript" defer="defer"  src="example.js"></script>

defer属性只适用于外部js文件
用途是表明脚本在执行时不会影响页面的构造。即,脚本会被延迟到整个页面都解析完毕后再运行。
有些浏览器会忽略这个属性,所以,把延迟脚本放在页面底部仍是最佳选择


4、异步脚本

例子:<script type="text/javascript"  async   src="example1.js"></script>
          <script type="text/javascript"  async   src="example2.js"></script>

async 属性也只适用于外部js文件
指定async属性的目的是不让页面等待这两个脚本的下载和执行,从而异步加载页面的其他内容。因此,建议异步脚本不要在加载期间修改DOM。
☞:标记为async的脚本并不保证按照他们的先后顺序执行,因此,要确保两者之间互不依赖。


5、<noscript>元素

使用<noscript>元素可以指定在不支持脚本的浏览器中显示替代的内容,从而实现让网页平稳退化。
包含在 <noscript>元素中的内容只有在以下两种情况下才会显示出来:
  • 浏览器不支持脚本;
  • 支持脚本,但脚本被禁用。
在启用脚本的情况下,浏览器中不会显示 <noscript>元素中的任何内容。

<body>
  <noscript>
    <p>本页面需要浏览器支持(并启用)JavaScript</p>
  </noscript>
</body>











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章