1. Object
- 可以通过
对象字面量
的方式定义 - 通过方括号或者
.
号进行访问
2. Array
- 数组内部数据类型可以不同,大小可以动态调整
- 使用方括号表示法或者构造函数创建
length
属性记录数组项数, 它不是只读的,可以通过设置该值,从数组末尾添加或者移除项toString()
方法:调用数组每一项的toString()
方法, 默认以逗号连接, 构成一个字符串.join()
方法,可以使用指定的分隔符来构建这个字符串.- 栈方法:
push()
&pop()
对数组尾部进行操作 - 队列方法:
push()
&shift()
vspop()
&unshift()
- 排序:
sort()
&reverse
,对源数组进行排序并返回.sort()
默认调用每项的toString()
方法,将转型后的字符串排序,也可以接受一个函数作为比较方法.reverse()
反转数组 concat()
方法,用于连接数组, 该方法不影响被调用者. 返回连接后的数组.slice()
:切片操作,希望接受两个参数,不改变原始数组, 返回切片结果数组splice()
: 铰接splice(start, num, new1, new2, ...)
, 从start位置开始删除num项, 并插入后面的参数new1, new2 …indexOf()
&lastIndexOf()
从数组前/后(方向)查找第一个参数的位置, 返回第一个找到的位置,否则返回-1
, 可以指定搜索起点,作为第二个参数.- 迭代方法
every()
: 每一项返回ture,则返回truefilter()
: 返回true的项组成数组作为返回值forEach()
: 没有返回值map()
: 返回每次调用结果组成的数组some()
: 对任一项返回true, 则返回true
3. Date
4. RegExp
- 使用字面量或者
RegExp()
构造函数定义正则表达式,RegExp()
接受两个字符串: 模式和标志 - 实例属性
- global : 是否设置了g标志
- ignoreCase :是否设置了i标志
- lastIndex : 下次搜索的起始位置
- multiline : 是否设置了m标志
- source : 正则表达式的字面量(字符串类型的)
- 实例方法
exec()
返回第一个匹配项信息的数组, 非全局模式下,每次调用后,正则表达式的lastIndex都会重置, 全局模式下会保留.test()
判断目标字符串与某个模式是否匹配toString()
返回正则表达式字面量(source属性)
5. Function
JavaScript中的函数是对象,可以通过Function()
构造函数来生成函数.
函数是对象,函数名是指针 , 因此JavaScript中的函数没有重载, 一个函数名只能指向一个函数对象, 后面的函数会覆盖前面的.
function sum(num1, num2) { |
函数声明和函数表达式是定义函数常用的两种方法, 两者的区别是: 函数声明存在函数声明提升的过程.
函数内部属性
arguments
类数组对象,包含着函数中所有参数, 它又一个名为callee
的属性,指向拥有着arguments对象的函数.this
函数属性
length
函数希望接收的命名参数个数prototype
原型对象, 函数的原型对象不可枚举,不能用for-in
发现
函数方法
apply()
接受两个参数:在其中运行函数的作用域, 参数数组call()
与apply类似, 只是他的参数是逐个传入,而不是通过数组
apply()
和call()
能够扩充函数赖以运行的作用域
6. 基本包装类型
Boolean
,Number
, String
, 与前面介绍的引用类型相似,同时具有各自的基本类型相应的特殊行为。
每当读取一个基本类型值的时候, 后台会创建一个对应的对象,从而让我们能够调用一些方法来操作数据。
var s1 = "some text"; |
读取模式中访问字符串,后台会自动完成以下处理:
- 创建String类型的一个实例
- 在实例上调用指定的方法
- 销毁这个实例
引用类型与基本包装类型主要区别在于对象的生存期,使用new
操作符创建的引用类型的实例,在执行流离开当前作用域之前一直都保存在内存中, 而自动创建的基本类型的对象, 则只存在于一行代码的执行瞬间,然后就被销毁。
var value = "25"; |
转型函数生成的是简单类型, new操作符得到的是对象
不建议显式地创建基本包装类型的对象
Boolean 对象
var falseObject = new Boolean(false); |
注意这里的值为false
的Boolean对象,转换为Boolean类型,对应的是true
, 建议永远不要使用Boolean对象
Number 对象
String 对象
参考资料:
- JavaScript 高级程序设计