1. Math對象:專門封裝數學計算相關屬性和函數的全局對象java
屬性:Math.PI數組
函數:瀏覽器
取整:app
Math.round(n) Math.ceil(n) Math.floor(n)函數
四捨五入 上取整 下取整orm
乘方開方:對象
Math.pow(n,m):n的m次方內存
Math.sqrt(n):對n開平方資源
取大小:字符串
Math.max(n1,n2,n3...): 從參數中取最大值
Math.min(n1,n2,...): 從參數中取最小值
固定套路:獲取數組中的最大值/最小值
Math.max.apply(Math,arr);
2. ***Date對象:
封裝了一個時間點的數據,提供了對時間的計算操做。
*Date對象中封裝的是一個從1970年1月1日0點0分至今的毫秒數*
如何建立:4種:
建立一個日期對象,自動封裝當前時間
var date=new Date();
建立一個日期對象,並自定義時間點
var date=new Date(年,月,日[,時,分,秒]);
var date=new Date("yyyy/MM/dd[ hh:mm]");
利用一個毫秒數建立時間對象
vars date=new Date(ms);
日期計算:1. 兩日期對象相減,獲得毫秒差
日期計算的固定套路:3步
1. 取出要計算的份量值: getXXX()
2. 對份量值作+/-計算
3. 將計算結果再set回去
*全部set方法,都會直接修改原日期對象!*
1. 可以取出每一個份量的值
2. 可以對每一個份量作計算
API:3句話:
1. 命名:每一個份量都有一對兒get/set方法
好比:getMonth() setMonth(n)
2. 命名:年月日星期 不帶s;時分秒 帶s
好比:getMonth() getHours()
FullYear() Minutes()
Date() Seconds()
Day()
3. 數值範圍:只有date(每個月中的日),從1開始-31結束
其他都是從0開始,到進制-1結束
好比:day: 日 一 二 三... 六
0 1 2 3 6
month: 1月 2月 3月 ... 12月
0 1 2 11
hour: 0點 1點 2點 15點
0 1 2 15
minute: 00 59分
0 59
結論:只有month須要修正!
日期類型輸出爲字符串:——瞭解
date.toLocaleString(); //將date轉爲本地時間格式
//將date轉爲本地時間格式,僅包含日期部分
date.toLocaleDateString();
//將date轉爲本地時間格式,僅包含時分秒部分
date.toLocaleTimeString();
*由於toLocale系列的方法不一樣瀏覽器輸出不統一。
都會自定義format函數,將日期轉爲用戶但願的字符串*
Number對象:toFixed方法:
優:對任意小數位四捨五入
缺:返回值是String類型,不能參與數字計算
做業:function round(num,d){
//將num按d位小數,四捨五入
//返回四捨五入後的結果
}
console.log(round(123.456,2)); //123.46
1. 錯誤處理:
錯誤:程序執行過程當中的異常狀況,也成異常
錯誤處理:當程序發生錯誤時,保證程序不中斷的機制
Error對象:當程序發生錯誤時,*自動*建立的對象
封裝了錯誤的信息:錯誤的類別,錯誤的緣由
SyntaxError:語法錯誤——改代碼
ReferenceError:引用錯誤——找不到指定的對象
TypeError:類型錯誤——錯誤的使用了類型的方法
RangeError:範圍錯誤——參數超範圍
EvalError、URIError——少見,瞭解。
如何錯誤處理:try catch finally
try{
可能發生錯誤的代碼段
}catch(err){一旦錯誤發生,err中就會得到錯誤對象
提示或處理錯誤
}[finally{
不管出錯與否,都必須執行的代碼。
好比:釋放資源!
}]
鄙視題:見2_error中
如何拋出自定義錯誤:throw new Error("異常信息");
2. ***Function對象:
總結:Everything is Object;函數也是引用類型的對象
***重載:真正的重載:tmooc/java/java面向對象/類中的方法
現實中:一件事,參數不一樣,執行不一樣的步驟
程序中:一組同名的方法,根據參數不一樣,調用不一樣的方法實現
*雖然js中語法不支持重載!但能夠經過arguments對象模擬*
arguments對象:在方法中*自動建立*的,接受每一個傳入參數的類數組對象——Object like Array
arguments.length:傳入的參數個數
arguments[i]:第i+1個參數的值
1. 建立方法對象:3種:
1種:function聲明方式:function 方法名([參數列表]){
方法體;
return 返回值;
}
好比:function compare(a,b){return a-b;}
****************************************************
2種:用函數直接量方式建立函數對象
var compare=function([參數列表]){
方法體;
return 返回值;
}
好比:var compare=function(a,b){return a-b;}
3種:使用new關鍵字建立方法對象:
var compare=
new Function("a","b",...,"方法體;return 返回值");
好比:var compare=
new Function("a","b","return a-b;");
2. ***匿名函數:定義時,未指定函數名稱的函數
什麼時候使用匿名函數:若是一個函數僅臨時使用一次!
2種狀況:1. 回調:函數不是馬上調用。而是傳遞給其它對象,由其它對象自動調用。
好比:arr.sort(function(a,b){return a-b});
new Function("a","b","return a-b")
2. 自調:匿名函數,本身調用本身。
優:節約內存空間:被解釋到時動態建立,調用完自動釋放
缺:沒法重複利用!