对象:(三种表现形式)
var arr = []; // 数组
var obj = {};
var none = null;
创建对象:
var obj = {键1:值1,键2:值2,...}; --直接创建
var obj = new Object({键1:值1,键2:值2,...}); --构造函数
对象的访问:
1) 对象.键的名字
2) 对象['键的名字']
注意:
- 两种方式都是可以获取到对象中的相关数据、属性
- 对象.键的名字获取的时候 如果键有连接符号的时候会报错
- 如果键有连接符号的时候 就必须使用 对象['键的名字'] 这种方法访问
对象的遍历:
for(var 变量名字(i) in 对象){
变量名字(i) -- 输出符合条件的数据(对象中的每一个键)
}
for in 遍历对象时是遍历键,遍历数组时,得到的是数组的下标
for of 遍历对象时是遍历值,遍历数组,得到的是数组的元素(不能遍历object键值对类型的类型)
构造函数:只要用了new关键字创建对象、函数、字符串、数字类型,那么这个对象就是构造函数方式
关于构造函数和普通函数的区别:
- 任何的函数都可以使用new(构造函数)方式去创建
- 首字母是否大写是区别构造和普通函数的最直观表现
- 重点:this关键字 在构造函数中使用this关键字去指向赋值操作(默认指向的是全局 window)
数组:(是计算机中一段有序的连续空间,使用一个变量名表示)
创建数组:
语法一:
var arr = []; # 创建了一个空数组
var arr = ["张三","李四","王五"]; # 创建了一个数组,里面存了三个姓名
语法二(构造函数):
var arr = new Array(); # 创建了一个空数组
var arr = new Array(3); # 创建了一个长度为3的数组
var arr = new Array("张三","李四","王五"); # 创建了一个数组,里面存了三个姓名
索引:数组中的索引是从0开始的
数组.length:表示当前的数组中的数据有几个(数组的长度可以访问,也可以赋值,用来修改数组的长度。)
数组的遍历:
var arr = [1,2,3,4,5,6,7,6,5,4,3,2,1]
for(var i = 0;i<=arr.length-1;i++){
// 由于下标是从0开始的,所以for循环的初始量为0,下标会比长度少1
console.log(i,arr[i])
}
多维数组:
var arr = [1,2,3,4,[1,2,[1,2,3]]]
console.log(arr)
console.log(arr[4][2][2])
数组总结:
-
数组的第一个元素的下标永远是0;
-
数组的最后一个元素的下标永远是
数组的长度-1