对象:
属性:变量
方法:函数
直接量:
{
name : "张三",
study : function() {
console.log("学习...");
}
}
内置对象:
由 ECMAScript 实现提供的、独立于宿主环境的所有对象
Array(数组):
作用:
用于在单个的变量中存储多个值
概念:
元素:数组中的数据存储空间
下标(索引):元素的编号,下标编号从0开始,到 (长度-1) 结束
长度:数组中保存的元素个数,length
使用:
创建对象:
a. var arr = []; // 空数组,没有元素,长度为0
b. var arr = [val1, val2, val3, ...]; // 创建数组的同时实现元素初始化
c. var arr = new Array(); // 等价于 []
d. var arr = new Array(val1, val2, val3, ...); // [val1, val2, val3, ...]
e. var arr = new Array(size); // size是一个数字参数,表示数组初始长度
数组元素访问:
使用下标 ---- 数组名[下标]
数组元素的迭代(遍历)----穷举法:
使用 数组名.length 求数组的长度。
// 普通循环
for (var i = 0; i < array.length; i++) {
array[i]
}
// for-in
for (var i in array) { // 遍历数组,i表示的是数组元素的字符串下标
array[i] // 通过使用字符串下标来访问元素
}
for (var attrName in obj) { // 遍历对象,attrName 表示的是对象的属性名字符串
obj[attrName]; // 通过使用 对象名[字符串索引] 的方式来访问对象属性值
}
API
属性:length -- 长度
方法:
添加:
push(val1, val2, val3, ....) -- 向数组末尾添加元素,返回添加元素后的新数组长度
unshift(val1, val2, val3, ....) -- 向数组开头插入元素,返回添加元素后的新数组长度
splice(index, 0, val1, val2, val3, ....) -- 从指定的index处删除0个元素后,将val1, val2, val3, ....插入到删除的位置
删除:
pop() -- 从末尾删除一个元素,返回的是删除掉的元素值
shift() -- 从开头删除一个元素,返回的是删除掉的元素值
splice(index, howmany) -- 从指定的index处删除howmany个元素,返回的是一个数组,数组中包含删除的元素
排序:
reverse() -- 反转,逆序
sort(sortby) -- 排序,默认按照数组中每个元素的字符串unicode编码顺序排序(字典顺序),如果需要按照指定方式排序,则需要提供一个排序函数sortby参数
截取:
slice(start, end) -- 从 start 开始截取到 end 结束,包括开始索引处元素,不包括结束索引处的元素,返回截取后的数组,原数组本身不受影响
连接:
concat() -- 连接数组,返回连接后的新数组,原数组本身不受影响
join(sep) -- 连接数组中的每个元素,默认以,(逗号)分隔,返回连接后的字符串
转换为字符串:
toString() -- 默认与未传递参数的 join() 方法一致
排序算法:
冒泡排序
二重循环,外层循环控制比较的轮数,内层循环控制每轮比较的次数。
外层循环N-1 (N = array.length)
内层循环N-1-i (i表示外层循环变量)
选择排序
插入排序
快速排序
希尔排序
.......