JS基础(JavaScript的三大主要组成部分、JavaScript浏览器内核、JavaScript变量)
1.ECMAScript(核心)
ECMA-262没有参照web浏览器,规定了语言的组成部分,具体包括语法、类型、语言、关键字、保留字、操作符、对象。
ECMAScript就是对该标准规定了各个方面内容的语言的描述。
ECMAScript的兼容:
1 支持ECMA-262描述的所有“类型,值,对象,属性,函数,以及程序语法和语义” 。
2 支持Unicode字符标准。
3 添加ECMA-262没有描述的更多“类型,值,对象,属性,函数”,ECMA-262说说的浙西新增特性,主要是指该标准中没有规定的新对象和对象的新属性。
4 支持ECMA-262中没有定义的“程序和正则表达式的语法”。也就是说可以修改和扩展内置的正则表达式语法。
2.DOM(文档对象模型)
文档对象模型DOM是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层次节点结构。HTML或者XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
DOM级别:
DOM1级于1998年10月成为W3C的推荐标准。BOM1由两个模块组成分别是DOM core和DOM HTML。
DOM core:规定如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。
DOM HTML:在DOM core的基础上加以扩展,添加了针对HTML的对象和方法。
DOM2级在原来DOM的基础上有扩充了鼠标和用户界面事件、范围、遍历等细分模块,通过对象接口增加了对css的支持。包括以下模块:
1 DOM Views(DOM视图):定义了跟踪不同文档视图的接口。
2 DOM Events(DOM事件):定义了事件与事件处理的接口。
3 DOM Traversal and Range(DOM遍历和范围):定义了遍历和操作文档的接口。
DOM3级则进一步扩展了DOM,引入了加载和保存模块以统一方式加载和保存文档的方法;新增了DOM验证模块主要还是验证文档的方法。
3.BOM(浏览器对象模型)
BOM处理浏览器窗口和框架,人们习惯上把所有针对浏览器的JavaScript扩展算作是BOM的一部分。包括以下:
1 弹出新浏览器窗口的功能。
2 移动、缩放和关闭浏览器窗口的功能。
3 提供浏览器所加载页面的详细信息的navigator对象。
4 提供浏览器所加载页面的详细信息的location对象。
5 提供用户分辨率详细信息的screen对象。
6 对cookies的支持。
7 像XMLHttpRequest和IE的ActionXobject这样的自定义对象。
4.JavaScript解释器 : 浏览器内核
E Trident 俗称IE内核
Chrome Webkit Blink(2013年)
FireFox Gecko 俗称FireFox内核
Opera Blink Presto
Safari Webkit
...
5.JavaScript变量
1.变量的命名规则
所有 JavaScript 变量必须以唯一的名称的标识。
这些唯一的名称称为标识符。
标识符可以是短名称(比如 x 和 y),或者更具描述性的名称(age、sum、totalVolume)。
构造变量名称(唯一标识符)的通用规则是:
-
-
- 名称可包含字母、数字、下划线和美元符号
- 名称必须以字母开头
- 名称也可以 $ 和 _ 开头
- 名称对大小写敏感(y 和 Y 是不同的变量)
- 保留字(比如 JavaScript 的关键词)无法用作变量名称
-
提示:JavaScript 标识符对大小写敏感。在JavaScript中name既不是保留字也不是关键字,但是在window对象中有一个属性是window.name。
window.name是一个字符串,所以当你在声明name变量时相当于给window.name赋值(字符串类型)。
2.变量的用法
变量的作用 : 用来存储数据的
变量的初始化 : 变量的声明和赋值
1. 变量声明 : 使用var关键字在内存中开辟内存空间
2. 变量赋值
3. 变量的重新赋值
(1) 先把内存中的原值销毁掉
(2) 把新值存入变量
4. 变量的重新声明
(1). 先销毁掉变量在内存中开辟的空间
(2). 使用var在内存中开辟新的内存空间
5. 变量的批量声明和赋值 每个变量之间使用逗号隔开, 最后必须使用分号
6. 把一个变量的值赋值给另一个变量