1. 程式人生 > >w的學習筆記06.(2019年1月12日)

w的學習筆記06.(2019年1月12日)

雙色球 格式 fin 如何 日期計算 getx 計算 and 隨機數

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、冒泡排序

w的學習筆記06.(2019年1月12日)