一、基本知识
1.遍历Window对象
var str="",num=0;
for(var attr in window){
str+=num+'.'+attr+':'+window[attr]+'<br/>';
num++;
}
document.body.innerHTML=str
2.关于for与for in
数组可以用for 循环,也可以用for in;而json只能用for in,不能用for循环;
3.数组的两种创建方法:
直接量方法
对象创建方法
var arr=[];
var arr2=new Array()
//注意第二种方法,如果()里面的参数是数字,则会指数组的长度
4.数组清空
var arr=['aaa',2,3]
arr.length=0;
arr=[];
//这两种方法均可清空,但第一种方法如果数组长度特别大的时候性能较差;
字符串的长度(length)属性仅可读,不可写;
二、数组方法
1.push:在最后面增加一个,返回值是数组的长度;
2.unshift:在最前面增加一个,返回值是数组的长度;
3.pop:扔掉最后一个,返回值是扔掉的元素;
4.shift:扔掉第一个,返回值是扔掉的元素;
5.splice:删除(返回所删除的值)、添加、替换
注意:IE6、7不支持unshift的返回值;
var arr=['aaa',2,3,'中医','张森','莫涛'];
alert(arr.push('bbb'));
alert(arr.unshift('bbb'));
alert(arr.pop());
alert(arr.shift());
arr.splice(0,2);
arr.splice(0,2,'leo or TM');
arr.splice(1,0,'leo or TM');
数组交换位置:可以用在轮播图里面
arr.unshift(arr.pop());
arr.push(arr.shift());
6.数组去重
7.数组排序:
7.1 sort,该方法是按照字符串比较的形式来排序,也可以在sort种增加比较函数;打乱顺序时可以使用随即函数
var arr=[4,3,5,76,2,0,8]
arr.sort();
arr.sort(function(a,b){
return a-b;
})
arr.sort(function(a,b){
return Math.random()-0.5;
})
7.2.原生方法:快速、希尔、冒泡、归并、选择、插入等等;
8.reverse颠倒数组
arr=[1,2,3,4,5,6]
arr.reverse();
//颠倒字符串
var str='abcdef'
str.split("").reverse().join("")