第二章 词法结构javascript
- JavaScript区分大小写;/html不区分大小写
- JavaScript会忽略程序中标识(token)之间的空格;
- 直接量:程序中直接使用的数据值;
- 标识符:字母、下划线(_)、美圆($)
- 保留字:JavaScript把一些标识符拿出来作本身的关键字
第三章 类型、值和变量html
- 原始类型(primitive type):数字,字符串,布尔值
- 对象类型(object type)
- 两个特殊的原始值:null,undefined
- 特殊的对象——数组,表示带编号的值的有序集合
- 特殊的对象——函数,具备与它相关联的可执行代码的对象,经过调用函数来运行可执行代码,并返回运算结果
- 若是用函数来初始化(new)一个新建对象,咱们称之为构造函数(constructor),每一个构造函数定义了一类(class)对象
- 另外三种有用的类:日期(Date),正则(RegExp),错误(Error)
- 原始类型 VS 对象类型,能够拥有方法的类型 VS 不能够,可变类型 VS 不可变
- 数字:Math,IEEE-754浮点数表示法,
- 文本:转义字符,模式匹配
- 布尔值
- null,undefined
- 全局对象
- 包装对象:存取数字,字符串或布尔值的属性时建立的临时对象
- 不可变的原始值,可变的对象引用:引用类型 VS 基本类型
- 类型转换:显式类型转换,parseInt(),parseFloat(),toString(),toFixed(),toExponential(),toPrecision()
- 对象转化为原始值:toString(),valueOf()
- 变量声明:重复的声明 VS 遗漏的声明
- 变量做用域(scope)
- 函数做用域和声明提早:函数内声明的全部变量在函数体内都是可见的。变量在声明以前甚至就能够用了——声明提早。
- 当声明一个全局变量时,就至关于定义了全局对象的一个属性。当使用var声明时,这个变量/属性是不能够delete的。
- 做用域链!!!
每一段javascript代码(全局代码或者函数)都有一个与之关联的做用域链(scope chain)。java
这个做用域链是一个对象列表或链表,这组对象定义了这段代码“做用域中”的变量。数组
当javascript作变量解析的时候,会从链中的第一个对象开始查找,一直到找到该变量,不然抛出一个引用错误(ReferenceError)。函数
在javascript顶层代码中,做用域链由一个全局对象组成。htm