一.对象
1.检测属性是否存在
对象.属性名 === undefined false -> 存在 true -> 不存在
对象.hasOwnProperty(‘属性名’) true->存在 false->不存在
‘属性名’ in 对象 true->存在 false->不存在
2.方法
方法对应的是一个函数
var p={ run: function(){ this 指向的是调用方法的对象 } } p.run() |
二.数据存储
1.原始类型,存储在栈内存中
2.引用类型,存储在堆内存中,会自动生成一个地址;如果用变量保存对象,保存的是生成的地址
销毁引用类型数据,一旦数据不被任何的地址引用,就会自动销毁
null 空地址,不指向任何的引用类型数据
如果要销毁引用类型数据,只需要赋值为null即可
三.数组
数组就是一组数据的集合,每个数据叫做元素
1.创建数组——数组字面量
[ 元素1, 元素2... ]
2.元素的访问
下标:是数组自动为每个元素添加的编号,从0开始的整数 >=0
数组[下标]
如果下标不存在返回的是undefined
3.长度属性
数组.length 获取元素的个数
(1)在数组的末尾添加元素
数组[数组.length]=值
(2)清空数组
数组.length=0
4.创建数组 —— 内置构造函数
new Array(元素1, 元素2...)
new Array(3) 创建数组,初始化长度为3,可以添加更多个元素
5.数组分类
索引数组:以>=0整数作为下标
关联数组:以字符串作为下标,需要单独添加元素
6.对比数组和对象
两者都是用于保存一组数据,对象将每个数据存储在属性中,数组存储在元素中
对象的数据是一组无序排列,数组的数据是一组有序排列
{name:'tom' , age:20, sex:'男'}
[8000,20000,12000,10000,5000]
7.遍历数组
依次访问数组中的每个元素
for-in for(var k in 数组){ k 下标 数组[k] 下标对应的元素 } |
for循环——推荐 for(var i=0;i<数组.length;i++){ i 下标 数组[i] 下标对应的元素 } |
8.数组API
API:JS预定义的函数和方法
toString() 数组转为字符串