一.检测对象中是否含有某个属性
对象.属性名===undefined true->不存在 false->存在
对象.hasOwnProperty('属性名') true->存在 false->不存在
'属性名' in 对象 true->存在 false->不存在
二.对象中的方法
方法对应的是一个函数
var person={
play:functionO(){
this 指调用方法的对象
}
}
person.play()//调用方法
三.数据的储存
原始类型:存储在栈内存中,分配固定的空间大小
引用类型:存储在堆内存中,会自动生成一个地址,然后再把地址保存到栈内存中,动态分配空间大小
原始类型的值会被JS系统自动销毁
引用类型的值不会自动销毁,当不被任何的地址指向才会被销毁
null:空地址,如果要销毁引用类型的值只需要赋值为null
四.数组
1.数组字面量
[元素1,元素2,..] 数组是一组数据的结合,每个数据称为元素
2.访问元素
数组[索引下标]下标是自动为每个元素添加编号,是>=0整数
如果元素不存在则返回undefined
3.数组长度
数组.length 获取数组元素的个数
在数组的末尾添加元素数组[数组.length]=值
4.内置构造函数创建数组
new Array(元素1,元素2...)
new Array(n)创建数组,初始化数组长度为n,可以添加更多个元素
5.数组的分类
索引数组:以>=0的整数作为下标
关联数组:以字符串作为下标,需要单独添加元素,无法使用长度属性
6.对比对象和数组的区别
两者都可以存储一组数据,对象通过属性,数组通过元素
对象的数据是无序的,不分先后;数组的数据是有序排列
7.数组的遍历
通过循环的方式,依次访问每个元素
for(var k in 数组){
k 下标
数组[k] 元素
}
for(var i=0;i<数组.length;i++){
i 下标
数组[i] 元素
}
8.API
JS预定义好的函数和方法
toString() 将数组转为字符串,元素之间用逗号分隔
join()将数组转为字符串,可以指定元素之间的