04-JS内置对象
Array [əˈreɪ]
数组创建
空数组的创建:var a = new Array(); //数组可以存储各种不同类型的项。
方法一:
var a = new Array(4); // ()里面可以写要保存的项目数量
a [0] =3;
a [1] =”abc”;
a [2] =5;
a [3] =”qml”;
方法二:var a = new Array(3 , “abc” , 5 , “qml”); // ()里面还可以向Array传递数组包含的项。
方法三:var a = [ 3 , “abc” , 5 , “qml” ];
数组元素读取
如:console.log( a[0] ); //在控制台打印出第一项。索引是从0开始的正整数。
数组长度
arrayName.length //获取数组的长度
var a = new Array(3 , “abc” , 5 , “qml”);
a.length = 3; //本来长度为4,现在设置成3,那么最后一位数组就会被移除。
a[99] = “mm”; //把mm赋给数组的第100项。那么数组的长度 = 索引值 + 1 ,即a.length = 100。
数组的栈方法
数组元素添加
a.unshift( “开头”,”开头1″ ); // unshift() 往数组的开头添加若干个项(返回值是添加完元素后的新数组)。
a.push( “末尾”,”末尾1″ ); // push() 往数组的末尾添加若干个项(返回值是添加完元素后的新数组)。
数组元素删除
a.shift() //删除数组的第一个元素(返回值是被删除的元素)。
a.pop(); //删除数组的最后一个元素(返回值是被删除的元素)。
join(数组转字符串)
a.join(); //把a数组中所有元素放入一个字符串。(返回值是那个字符串)。()里面什么都不写,默认用逗号隔开。(”-“)里面是”-“,说明用”-“隔开。
reverse(数组元素顺序颠倒)
a.reverse(); //颠倒a数组里面的元素(返回值是那个数组)。
sort(数组元素排序方法)
a.sort(); //用于对数组的元素进行排序(返回值是排序后的数组)。
即使数组中每一项都是数值,sort()比较的还是字符串。sort()可以接收一个比较函数作为参数。
a.sort( function(a,b){ return b-a } ); //return b-a是降序,return a-b是升序。
concat(数组拼接)
a.concat( b,c,d, [“m”,99] ); //把a数组跟b、c、d、[“m”,99] 数组连接起来(返回值是连接后的数组)。
slice(数组元素截取)
a.slice(开始下标,结束下标); //从a数组的开始下标,截取到a数组的结束下标,结束下标的元素 不在截取范围(返回值是截取到数组)。
开始下标不可以省略,结束下标省略时,表示截取到最后。
当开始下标为负数时,开始下标 = 数组的长度 + 该负数
splice(数组元素删除)
a.splice(index,count); //index表示开始删除的项目下标,count表示删除的个数。
从开始下标开始删除,删除count个元素(返回值是删除的元素组成的数组)。
当count等于0时,则不会删除任何值。如果不设置,则删除从index开始的所有值。
数组元素插入
a.splice(index,0,”m”,”n”); //index表示开始插入的项目下标,count=0表示不执行删除,后面是插入的字符串。
返回值:当count=0就是不删除任何值,所以返回的值是一个空数组 [ ] 。
数组元素替换
a.splice(index,2,”m”,”n”); //index表示开始插入的项目下标,count=2表示删除两个数,后面是插入的字符串(返回值是删除的元素组成的数组)。
indexOf(数组元素查找)
a.indexOf ( searchValue , startIndex ); //从a数组开头(位置startIndex)开始向后查找searchValue 这个值。
searchValue:必须项,表示要查找的内容。 startIndex :可选项,表示从那个位置开始查找,省略时 表示从头开始。
返回值:返回找到的项在数组中的位置,若没有找到就返回-1。
注:在比较参数与数组中的每一项时,使用的是全等操作符。
lastIndexOf(数组元素查找)
a.lastIndexOf( searchValue , startIndex ); //从a数组末尾(位置startIndex)开始向前查找searchValue 这个值。
searchValue:必须项,表示要查找的内容。 startIndex :可选项,表示从那个位置开始查找,省略时 表示从头开始。
返回值:返回找到的项在数组中的位置,若没有找到就返回-1。
注:在比较参数与数组中的每一项时,使用的是全等操作符。
String字符串
indexOf(字符串查找)
a.indexOf(“o”); //在a字符串中,从头开始查找0,返回o的位置下标,若找不到返回-1。
lastIndexOf(字符串查找)
a.lastIndexOf(“o”); //在a字符串中,从末尾开始查找0,返回o的位置下标,若找不到返回-1。
charAt(字符串元素读取)
a.charAt(4); = a [4]; //检测a字符串中的 第5项字符。
返回值:返回值就是该项的字符。
charCodeAt(字符串元素字符编码)
a.charCodeAt( 4 ); //返回a字符串中,下标为4的 位置 字符的字符编码。
slice(字符串元素截取)
a.slice(开始下标,结束下标); //从a字符串的开始下标,截取到a字符串的结束下标,结束下标的字符串 不在截取范围(返回值是截取到的字符串)。
开始下标不可以省略,结束下标省略时,表示截取到最后。
当开始下标为负数时,开始下标 = 数组的长度 + 该负数,结束下标为负数时,同理。
substring(字符串元素截取)
a.substring(开始下标,结束下标); //从a字符串的开始下标,截取到a字符串的结束下标,结束下标的字符串 不在截取范围(返回值是截取到的字符串)。
开始下标不可以省略,结束下标省略时,表示截取到最后。
当开始下标为负数时,自动转换成0,当结束下标为负数时,同理。
substr(字符串元素截取)
a.substr(开始下标,xx); //从a字符串的开始下标,截取到xx个字符。
当开始下标为负数时,开始下标 = 数组的长度 + 该负数。
当xx省略时,截取到最后;当xx为负数时,返回空字符串。
split(字符串转数组)
var a=”123-456-789″;
a.split(“-“); //将a字符串里的内容,按照“-”隔开,转成字符串(返回值为转换后的数组)。
replace(字符串元素替换)
var a=”123-456-789″;
a.replace( “-” , “=” ); //把字符串中的“-”替换成“=”(返回值为替换后的字符串)。
缺点:不能批量替换,只能替换一处。
toUpperCase(字符串小写转大写)
var a = “hello world”;
a.toUpperCase(); //a字符串里面的小写全部转为大写
toLowerCase(字符串大写转小写)
var a = “HELLO WORLD”;
a.toLowerCase(); //a字符串里面的大写全部转为小写
Math对象
Math.min()
Math.min(1,2,3,4,5); //在一组数中找出最小值(返回该最小值)。
Math.max()
Math.max(1,2,3,4,5); //在一组数中找出最大值(返回该最大值)。
Math.ceil()
Math.ceil( 109.55 ); //向上取整,返回大于109.55的最小整数,即110。
Math.floor()
Math.floor( 109.55 ); //向下取整,返回109.55的整数部分,即109。
Math.round()
Math.round( 109.55 ); //将数值四舍五入为最接近的整数,即110。
Math.abs()
Math.abs( -109.55 ); //返回-109.55的绝对值,即109.55。
Math.random()
Math.random(); //随机生成一个0到1之间的数,不包含1。
扩展:随机生成一个3到60之间的数
var x = Math.floor( Math.random() * (60-3+1) + 3 );
//生成一个m到n之间的整数 (思路)
//设 不大过1的数 为x。
//1、一共生成的整数的个数为(n-m+1)
//2、用x 乘以 生成整数的个数 得到的值肯定不会超过n
//3、用 2、的值 加上最小值m
//4、这样的话会比n大0.9999999,所以用floor()进行向下取整
Date对象
new Date()
var shijian = new Date(); //不传参的时候,返回当前的日期时间对象。
getFullYear(); //返回四位数的年份
getMonth(); //返回日期中的月份,0-11
getDate(); //返回月份中的天数
getDay(); //返回星期,0-6
getHours(); //返回小时
getMinutes(); //返回分
getSeconds(); //返回秒
getTime(); //返回日期的毫秒数,从1970年1月1号 00:00:00 开始到现在的毫米数
setDate
1、 set FullYear(year):设置4位数的年份
2、 setMonth(mon):设置日期中的月份,从O开始,0表示1月
3、 setDate0:设置日期
4、 sethours0:设置小时
5、 setMinutes0:设置分
6、 setseconds0:设置秒
7、 setTime0:以毫秒数设置日期,会改变整个日期