- 数组也是一个对象,也是用来存储数据的,使用数字来作为索引来操作元素。
创建一个数组对象:var arr = new Array( ); 数组有自带属性length
- 使用字面量来创建数组:
区别: var arr2 = new Array(10); 这个表示创建一个length为10的数组。一遍采用字面量的方式来创建。语法:var arr = [ ] ; 可以在创建时就指定数组中的元素 //也可以使用构造函数来创建, var arr = new Array(10,20);
- push方法:往数组末尾添加一个或多个元素,并返回数组的长度
- pop 方法: 删除并返回数组的最后的一个元素。
- unshift方法:向数组的开头添加一个或多个元素,并且返回最新的长度
- shift方法:删除并且返回数组的第一个元素
-
数组的遍历:
forEach( ) 方法:
arr.forEach( function( value,index,obj ){
});
第一个参数:就是当前正在遍历的元素
第二个参数:就是元素的索引
第三个参数:就是正在遍历的数组
- 回调函数的定义:由我们创建但是不由我们调用的
- slice():从某个已有的数组提取出指定的元素
语法:(包含开始索引,不包括结束索引,可以传递一个负值则从后往前结算) arrayObject.slice( start,end );
-
splice():删除数组中的指定元素,被删除的元素作为返回值返回,
第一个参数:表示开始删除的位置
第二个参数:表示删除的数量
第三个及以后参数:可以传递一些新的元素,这些元素将会自动插入到开始索引的前面
-
concat():可以连接两个和多个数组,并且将新的数组返回该方法不会改变原数组。
join(“ string ”):该方法可以将所有的数组转换成一个字符串,并且返回。可以指定一个字符串参数来作为连接符
sort(); 对数组进行排序。
对数字进行排序时可能会出现错误,可以利用回调函数来自己指定排序的规则。
arr.sort( function(a,b){ return 1; } ) 浏览器会根据回调函数的返回值来确定元素的顺序, 如果返回值大于0,则元素会交换位置 如果返回值小于0,则元素位置不变 如果返回值等于0,则认为两个元素相等,也不交换位置 arr.sort(function(a,b){ if(a>b) return 1; else return -1; })
-
函数的方法:
call()和 apply():可以为函数指定第一个参数
区别:call方法可以把实参直接写在对象之后,依次传递
apply()则需要把实参封装在一个数组中统一传递
- 在调用函数时,浏览器每次都会传入两个隐含参数
1,this 2,a'rguments: 是一个像数组的对象 ,调用函数时所传入的实参都会封装到arguments中,可以通过索引和lenght来操作元素 arguments.callee 这个属性对应一个函数对象,就是当前正在指向的函数对象