书籍——JavaScript 高级程序设计三

Author:Nicholas C.Zakas
Translator:李松峰 曹力

JavaScript的实现由三部分组成:

1.核心(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)

  • ECMAScript

由ECMA-262定义的ECMAScript与Web浏览器没有依赖关系。

这门语言本身并不包含输入和输出定义

它规定了这门语言的下列组成部分:

  1. 语法
  2. 类型
  3. 语句
  4. 关键字
  5. 保留字
  6. 操作符
  7. 对象

由ECMA-262定义,提供核心语言功能

  • DOM(文档对象模型)

是针对XML 但经过扩展用于HTML 的应用程序编程接口。

DOM把整个页面映射为一个多层节点结构。

DOM2级引入了下列新模块,也给出了众多新类型和新接口的定义:
1.DOM视图(DOM Views):定义了跟踪不同文档(例如:应用CSS之前和之后的文档)视图的接口
2.DOM事件(DOM Events):定义了事件和事件处理的接口
3.DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口
4.DOM遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口

提供访问和操作网页内容的方法和接口

  • BOM(浏览器对象模型)

支持可以访问和浏览器窗口的浏览器对象模型

提供与浏览器交互的方法和接口

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

可扩展超文本标记语言(XMTML),是将HTML作为XML的应用而重新定义的一个标准

JavaScript 在XHMTML中的用法 加CData片段
clipboard.png
嵌入代码与外部文件 比较

外部文件优点:1.可维护性 2.可缓存 3.适应未来

<noscript>

该元素只会在下列(1.浏览器不支持脚本2.浏览器支持脚本,但脚本被禁用)的情况下显示出来
</noscript>

ECMAScript 中的一切都区分大小写。

标识符:变量,函数,属性的名字,或者函数的参数。

ECMAScript标识符采用驼峰大小写格式。 .eg. myCar,doSomethingImportant

严格模式

"use strict" ————它是一个编译指示,用于告诉支持的JavaScript引擎切换到严格模式,也可以在函数内部使用

支持严格模式的浏览器:IE10+,Firefox4+,Safari5.1+,Opera12+,Chrome

给未经声明的变量赋值在严格模式下会导致抛出Reference Error 错误
在严格模式下,不能定义名为eval 或arguments的变量,否则会导致语法错误。

数据类型

5种 基本数据类型:Undefined、Null、Boolean、Number、String
1种 复杂数据类型:Object (本质上是由一组无序的名值对 组成)

  • typeof 操作符
clipboard.png

注:有些时候,typeof 操作符会返回一些令人迷惑但技术上却正确的值。比如,调用typeof null 会返回"object",因为特殊值null被认为是一个空的对象引用。
Safari 5-,Chrome7-在对正则表达式调用typeof操作符时会返回"funcition",而其他浏览器在这种情况下会返回"object"

  • Undefined————在使用var 声明变量但未对其加以初始化
  • Null————表示一个空对象指针
  • Boolean————两个字面值:true 和 false
  • Number————使用IEEE754格式来表示整点和浮点数值
  • String————用于表示由零或多个16位Unicode字符组成的字符序列,即字符串
  • Object————一组数据和功能的集合 ,即对象
clipboard.png

ps:n/a(not applicable ) 不适用

e表示法(科学计数法)
var floatNum=3.125e7; //等于31250000

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,172评论 0 0
  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,360评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,689评论 0 6
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 上午看孩子写作业,一股情绪莫名地升起。思绪一会儿跑到过去,一会儿又跑向未来,就是无法安住当下,活脱脱像个鬼灵精怪的...
    阳光Sunflower阅读 374评论 2 9