数组的类别:
1、整数数组
var arrnum = [123, 45, 67, 8, 9];
2、字符串数组
var arrstr = ['hello', 'hi', 'hehe'];
3、对象数组:数组项是对象
[{"id":"1001","name":"值1","value":"111"},{"id":"1001","name":"值1","value":"11111"},]
4、二维数组 - 数组项的值还是数组
var array = [[1, 2, 3, 4, 5],[6, 7, 8, 9, 10]];
数组和对象的遍历
1、数组的遍历 for循环
2、无序数据的遍历 for...in循环
总结:遍历数组最好的方式目前来说还是for循环,for...in遍历无序的数据
对象的遍历:对象不能用for循环遍历,用for...in遍历
内存:堆内存、栈内存
栈内存:基本类型的值和引用类型的地址
堆内存:存放引用类型的值
引用类型:地址(栈内存)+ 值(堆内存)
值传递和址传递(引用传递)
值传递:基本类型遵循的
引用传递(址传递):引用类型(对象)
【创建自定义的对象,需要类 - Object(类或者构造函数 - new + 首字母大写)】
自定义对象的创建:
方式一:
构造函数: var person = new Object();
方式二:
字面量方式:var person = {name:'wangwu',age:250}
对象的特点:
1、对象的属性的读写,读写对象的属性值有两种方式:点操作符和中括号
区别:点操作符后面跟的一定是字符串,不能添加引号否则报错,中括号里面可以放置字符串和变量
2.对象的值一定是[object Object],和里面的属性没有关系,都是一样的
3.对象的属性一定是字符串,自动调用toString()进行转换,无需手动添加引号