JavaScript学习笔记5
2015-08-11 19:39
741 查看
Object类型
var person = new Object(); person.name = 'Jayson'; //对象字面量表示法,不会调用Object构造函数(Firefox3及更早版本会) var person = { name : 'Jayson' }; var student = {}; student.name = 'Jayson'; //访问时可以使用两种表示法 person.name; person['name']; //方括号表示法可以通过变量来访问 var name = 'name'; person[name];
Array类型
数组每一项可以保存任何类型的数据,数组大小是可以调整的,数组最多能有4294967295个项var colors = new Array(); var colors = new Array(5); var colors = new Array('red','blue'); //数组字面量表示法,不会调用Array构造函数(Firefox3及更早版本会) var colors = []; var colors = ['red','blue',,,,]; //会创建5项的数组,IE8及更早会创建6项,不要这样定义 var colors = ['red','blue']; //访问 colors[0]; colors[1] = 'green'; colors[99] = 'whrite'; //length为100 colors[colors.length] = 'black'; //在末尾添加一项 colors.length; colors.length = 4;
检测数组
value instanceof Array
Array.isArray(value) (ECMAScript5新增)
转换方法
var p1 = { toLocaleString : function(){ return 'Jayson'; }, toString : function(){ return 'hu'; } } var p2{ toLocaleString : function(){ return 'H'; }, toString : function(){ return 'AY' } } var p = [p1,p2]; alert(p); //hu,AY alert(p.toString()); //hu,AY alert(p.valueOf()); //hu,AY alert(p.toLocaleString()); //Jayson,H
栈方法
count = array.push(‘red’,’green’); //推入两项(数组末尾)
item = array.pop(); //取出最后一项
队列方法(两种)
array.push();
item = array.shift(); //取出第一项
count = array.unshift(‘red’,’blue’); //推入两项(数组前端),IE7或更早返回undefined
array.pop();
重排序方法
array.reverse(); //反转数组顺序
array.sort(compare); //比较每一项toString()得到的字符串,升序排列
function compare(v1,v2){ if(v1<v2){ return -1; }else if(v1>v2){ return 1; }else{ return 0; } } var array = [1,5,8,10,16]; array.sort(); alert(array); //1,10,16,5,8 array.sort(compare); alert(array) //1,5,8,10,16
操作方法
concat()
var array = [‘red’];
var array2 = array.concat(‘blue’,[‘black’,’green’]); //[red,blue,black,green]
slice(start[,end])
var array = [‘red’,’blue’,’green’,’black’];
var array2 = array.slice(1,3); //[blue,green]
var array3 = array.slice(-2,-1); //[green]
splice(start,length[,new])
var array = ['red','blue','green','black']; var removed = array.splice(0,2); alert(removed); //red,blue alert(array); //green,black var removed = array.splice(1,1,'white','yellow'); alert(removed); //black alert(array); //green,white,yellow
位置方法
indexOf(search[,fromIndex]) 从前往后搜
lastIndexOf(search[,fromIndex]) 从后往前搜
找到返回在数组中的位置,否则返回-1
比较search和数组的每一项时会使用全等于操作符
var person = {name:'hay'}; var peopole = [{name:'hay'}]; alert(people.indexOf(people)); //-1 morePeople = [person]; alert(morePeople.indexOf(person)) //0
迭代方法 (ECMAScript 5 新增)
every(function(item当前值,index,array){}) 如果function每一项返回true,则返回true
some(…) 如果function任一项返回true,则返回true
filter(…) 返回function返回true的项组成的数组
map(…) 返回function每次调用结果组成数组
forEach(…) 没有返回值
缩小方法 (ECMAScript 5 新增)
reduce(function(prev前一项值,cur当前值,index,array){}) 从左遍历到右
reduceRight(…) 从右遍历到左
var values = [1,2,3,4,5]; var sum = values.reduce(function(prev,cur,index,array){ return prev + cur; }); alert(sum); //15
相关文章推荐
- JSP页面提交到Servlet
- Js获取当前日期时间及其它操作
- JS验证身份证号码正确性
- js 将数值显示为金额
- jstack命令
- JavaScript 的核心,闭包和作用域
- QML中使用JavaScript
- jsp自定义标签
- JavaScript-html标题滚动效果
- ajax dataType:"json"问题
- JavaScript闭包详解
- 如何将json数据传入到Highcharts中的data中
- JS设置cookie、读取cookie、删除cookie
- JavaScript基础学习之-JavaScript权威指南--第八章函数属性方法构造函数
- 有意思的字符串反转(JavaScript)
- js小数点后保留几位方法:toFixed
- js小数点后保留几位方法:toFixed
- javascript要点整理(一)
- js模块化编程(二):AMD规范
- js模块化编程(一):模块的写法