美文网首页
书籍——JavaScript 高级程序设计三

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

作者: Hi_Alice | 来源:发表于2017-05-13 17:49 被阅读34次
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

相关文章

网友评论

      本文标题:书籍——JavaScript 高级程序设计三

      本文链接:https://www.haomeiwen.com/subject/yloxxxtx.html