JavaScript数据运算

499 阅读2分钟

一、Math


Math.pow(2,4)    //16 2的4次幂
Math.ceil(.1)    //1 向上(大)取值
Math.floor(.1)   //0 向下(小)取值
Math.abs(-1)     //1 绝对值|-1|
Math.max(1,2,3)  //最大值
Math.min(1,2,3)  //最小值
Math.random()    //大于等于0小于1的伪随机数[1]
Math.round(.4)   //四舍五入
Math.PI          //3.141592653589793 π
Math.E           //自然对数的底数2.718281828459045
Math.sqrt(9)     //3 9的平方根 √9
Math.pow(27,1/3) //3 27的立方根  ³√27
Math.sin(x)      //x 的正玄值。返回值在 -1.0 到 1.0 之间;必需。一个以弧度表示的角。将角度乘以 0.017453293 (2PI/360)即可转换为弧度。
Math.cos(x)      //x 的余弦值。返回的是 -1.0 到 1.0 之间的数;必须是一个数值。
Math.exp(3)    //e的3次幂

二、二进制浮点数和四舍五入的错误


var x=.3-.2; //x=0.09999999999999998
var y=.2-.1; //y=.1
x==y//false

三、日期和时间


var then=new Date(2019,5,21) //Fri Jun 21 2019 00:00:00 2019年6月21日
var later=new Date(2019,5,21,10,14,59) //Fri(星期五) Jun(六月) 21 2019 10:14:59 GMT+0800 (中国标准时间)
var now=new Date() //现在的时间日期 Tue May 21 2019 10:15:17 GMT+0800 (中国标准时间)
now-then           //日期的减法 毫秒
now.getFullYear()  //=>2019
now.getMonth()     //=>4(月份从0开始)
now.getDate()      //=>21 天数
now.getDay()       //=>2星期数 星期天是0
now.getHours()     //=>10 小时
now.getMinutes()   //=>15 分钟
now.getSeconds()   //=>40 秒
now.getUTCHours()  //=>UTC时间2点, 北京时间比UTC时间早8个小时

四、字符串


var msg='sheng,xia,wan,qiu';
msg.charAt(0)            //=>"s"第一个字符
msg.charAt(msg.length-1) //=>"u"最后一个字符
msg.substring(1,5)       //=>"heng"第2到第5个字符
msg.slice(1,5)           //=>"heng"第2到第5个字符
msg.slice(-3)            //=>"qiu"最后3个字符
msg.indexOf('i')         //=>7第一次出现i的位置
msg.lastIndexOf('i')     //=>15最后一次出现i的位置
msg.indexOf('i',8)      //=>15在位置8或8之后首次出现i的位置
msg.split(',')           //=>["sheng", "xia", "wan", "qiu"]根据‘,’分割
msg.replace('s','S')     //=>"Sheng,xia,wan,qiu"全文字符串替换
msg.toUpperCase()        //=>"SHENG,XIA,WAN,QIU"

五、null和undefined



  • [1]、伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等
  • [2]、javascript权威指南(中文版)写的是5代表星期一