一、对象是一种无序的属性集合,每个属性都有自己的名字和值。
1.创建对象
花括号内逗号分隔
var person = {
"Name" : "LiCheng",
"Age" : 25
}
2.对象属性
①用对象名.属性名的方式来访问
②属性的枚举,利用for/in循环可以遍历一个对象的所有属性
③检查属性的存在性,利用in运算符可以查看一个属性是否属性一个对象
④删除属性,利用delete运算符可以删除属性,例如 delete person.Name
⑤作为关联数组的对象
属性的另一种访问方式,通过 对象名["属性名"] 这样的方式来访问
3.共通的Object属性和方法。
①constructor属性
它引用了初始化这个对象的构造函数。
例如:
var d = new Date();
d.constructor == Date; //True
通过它可以对一个对象的类型进行判断。
②toString()方法
③toLocaleString()方法
④hasOwnProperty()方法:如果对象的属性不是继承的属性,那么就会返回true
⑤propertyIsEnumerable()方法:对象的属性不是继承的属性,在for/in循环当中可以进行枚举,就返回true
⑥isPrototypeOf()方法:如果isPrototypeOf()方法所属的对象是参数的原型对象,那么,该方法就返回true。否则就返回false。
var o = {};
Object.prototype.isPrototypeOf(o); //true 因为o.constructor == Object
二、数组
数组的方法:
①join()方法
把一个数组的所有元素转换成字符串,然后再把它们连接起来。
②reverse()
将数组元素进行颠倒然后返回
③sort()
在原数组上进行排序,返回排序后的数组
④concat()方法
创建一个数组,包含调用这个方法的数组的所有元素,如果这个函数的参数中有数组,会被展开,但是不会被递归的展开。
例如:
var a = [1,2,3];
a.concat([4,5]);//结果是[1,2,3,4,5]
⑤slice()方法
返回数组的一个片段,子数组,两个参数可以指定开始位置和结束位置,参数可以使负数,负数表示从尾部开始计算的位置。
⑥splice()方法
用途是插入或者删除数组的元素,和delete运算不一样的地方,在于delete只会吧删除的数组元素的位置设置为undefined,并不会进行删除后的节点移动。
Splice()方法会进行数组元素删除后节点的必要移动。Splice()返回的是删除了元素的数组,如果没删除任何元素,将返回一个空数组。和concat()方法不同的是,splice()方法并不会把数组元素进行展开
例如:
var a = [1,2,3];
a.splice(3,1,[4,5]);//结果是[1,2,3,[4,5]]
⑦push()和pop()方法
像栈结构一样进行数组元素的压入和排出
⑧unshift()和shift()方法
与push()和pop()方法类似,但是不同的是它们是在数组的头部进行操作,而且可以一次插入很多个元素,元素的插入是一次性插入的。也就是说插入的各元素相对位置没有变化