js进阶篇【续】

问题一:Math对象

注意,之前我们学过的Date和String都需要创建一个对象。那么Math对象的别致之处就在于不用创建对象,直接Math.property或者Math.Methods();

例:

alert(Math.PI);

或者   alert(Math.abs(-154));

random()

比较值得一说的是,在Math对象的众多方法中,random()方法。这个方法能随机出0~1之间任意的数字,那么想要实现使用该方法随机出指定范围数字该如何写呢?

var randomNum = Math.random()*5;
alert(randomNum); // 2.9045290905811183 
alert(parseInt(randomNum,10)); // 2           向下取整
alert(Math.floor(randomNum)); // 2            向下取整
alert(Math.ceil(randomNum)); // 3             向上取整

以上例子中呢,parseInt()方法和Math.floor()方法,都是向下取整,意味着范围是0~4.Math.ceil()方法是0~5

那么要实现任意范围怎么写呢?


round(x):将数字四舍五入为整数

例:

document.write(Math.round(3.3)+"<br>");

问题二:数组对象的方法介绍

concat(数组一,数组二.......);

例:

var _myarr = [1,2,3];

alert(_myarr .concat(4,5));             /*结果为1,2,3,4,5*/

alert(_myarr );            /*结果还是1,2,3       意思是该方法不会改变原数组*/

再例:

var _myarr = [1,2,3];

var _2myarr = [4,5,6,3];

alert(_myarr .concat(_2myarr ,5));           /*结果是  1,2,3,4,5,6,3,5*/


指定分隔符连接数组元素join()

意思就是数组对象点join方法就能把数组里面的元素按照方法指定的符号分隔开。如果方法里面没有指定符号,那么就是用逗号。如果方法里面指定了符号,就是用指定的符号分隔开。

例:

var _myarr = [1,2,3,4,5,6];

document.write(_myarr .join());

结果是:1,2,3,4,5,6,

如果是document.write(_myarr .join("-"));

结果是:1-2-3-4-5-6


颠倒数组元素  reverse()

例:

var _myarr= ["我","爱","你"];

document.write(_myarr.reverse());

结果是:你爱我


返回一个新数组 slice(start,end)

该方法用于返回在原数组中,从start下标开始的到end下标结束的元素,这些元素构成一个新的数组。

例:

var _myarr = new Array(1,2,3,4,5,6);

document.write(_myarr .slice(2,4));

结果:3,4     注意:结果不是3,4,5哦,所以对参数的使用要注意,返回的结果并不包括end参数下标的元素哦。另外,如果没有end参数的话,就直到数组末位。若start参数是负数的话,是从末位开始,比如-1就是指最后一个元素。值得注意的是,slice(-1,2)这种是只能返回-1下标对应的元素的哈。slice(0,-1)这种就是从下标0到倒数第一个。

总结一下,参数当中有负数也很正常,负数的参数也能在数组当中找到其对应下标的元素。要返回一个新的数组,参数的start和end就必须有这样一个关系,start在数组中的位置一定要在end前


数组排序sort()

数组排序就是对数组里面的元素按照指定的顺序进行排列,sort()如果不指定参数就按照unicode的方式进行排列。

语法:arrayObject.sort(sortMethod)

例:

function sortNum(a,b){

return a-b;                 //升序,如果是降序就是b-a

}

var _myarr = [1,22,66,55,33];

document.write(_myarr .sort(sortNum));

结果:1,22,33,55,66



猜你喜欢

转载自blog.csdn.net/dai_aixy/article/details/80809455