1 Math
数据类型:
原始类型:
number string boolean null undefined
引用类型:
数组 Math Date ...
#Math对象:专门提供数学计算的方法对象
这个对象使用方法比较特殊
其它对象
var regexp = new RegExp();
所有API都是直接通过Math类型名直接调用
Math.ceil();
Math.random();
1:取整
上取整:只要超过,就取下一个整数
Math.ceil(num);
下取整:去掉小数部分,取整数部分
Math.floor(num);
四舍五入:小数的部分够5就进1,不够就舍掉
Math.round(num);
缺点:只能取整
如果小数希望四舍五入
num.toFixed(d); //d 范围0-20之间
2:乘方和平方
乘方:Math.pow(底数,幂);
开平方:Math.sqrt(num);
3:最大值,最小值
最大值:Math.max(值1,值2,值3..);
最小值: Math.min(值1,值2,值3..);
如何获取数组中最大值:固定套路
Math.max.apply(Math,arr);
4:随机数:Math.random(); 0<=r<1 的小数
固定套路 1-31
1:任意min~max之间取随机整数
var min = 1;
var max = 31;
Math.floor(Math.random()*(max-min+1)+min);
2:如min从0开始
min = 0;
max = 10;
Math.floor(Math.random()*(max+1));
// 5
综合示例:产生双色球
规则: 红球 6 个 1~33
蓝球 1 个 1~16
红[2 25 12 3 31 19]
蓝[15]
1:创建一个空数组,表示球池
2:产生6个数值 1-33之间
2.0:产生一个数值
2.1:判断是否有重复的球
2.2:如果有重复当前球不要
2.3:如果没有重复 保存数组中
2.2:选下一个球
3:产生一个蓝色球 1-16 再添加球池中
4:输出球池中
2 Date:
*Date对象:封装一个时间值,提供对时间的操作方法
Date对象中封装1970年1月1日0开始到运行程序为止
毫秒数.
unix->linux
何时使用:计算日期,创建对象,获取时间日期
创建:4种
1: var now = new Date();
#创建日期对象,客户端系统时间为准
#以浏览器所在电脑时间准
now.getTime();//获得日期对象中封装的毫秒数
#自定义时间点
#示例:
var now = new Date("1980/10/10");
3:var now = new Date(yyyy,mm,dd,hh,MM,ss);
#date对象中,月数0-11结束,现实中月份要-1修下
#从日期对象中取出月份要+1修正
4:复制一个日期对象,
#在计算之前,将旧日期中毫秒数取出,
#放入一个新的日期对象中保存.
var old = new Date("yyyy/mm/dd");
var newDate = new Date(old.getTime());
#修改newDate不会影响 old对象
3、日期API:
FullYear Month Date Day
年 月 日 星期
getFullYear();获取年份
setFullYear();修改年份
1:以上每一个值都有一对 get/set方法
getXXX();返回
setXXX();修改
2:返回值只Date,从1开始31结束
其余都是从0开始到进制-1结束
比如:Hours 小时 0-23 --现实中一样不需修正
Minutes 0-59 --不需要修正
***Month 0-11 --比现实中少1 ,需要+1/-1修正
Day 0-6 --和现实中
日 一
0 1
4、日期计算:2种
1:使用毫秒直接计算:只适用于计算一天以内的时间
两日期对象可直接相减=毫秒差
5、日期对象转换字符串
1:toString() 输出的完整的标准日期时间格式,带时区
2:toLocaleString(); 输出浏览器当地时间的完整格式
3:toLocaleDateString(); 当地时间日期部分
4:toLocaleTimeString(); 当地址间时间部分
6、冒泡排序