JavaScript知識點總結--7


Date對象:內部封裝一個毫秒數

創建日期對象:

var date=newDate("2015/6/9"); PPT上-僅兼容chrome

API

1. 每個分量都有一對兒get/set方法

2. 命名:年月日星期不帶s;時分秒帶s

3. 值範圍:月中的日:1-31 ;其他:0-減1

 

計算:1. 兩日期相減,得到毫秒數

2. 日期+/- 天小時分秒:用毫秒

         3步:1.var ms=data.getTime();

               2. ms=ms+/-毫秒數

               3. var newDate=new Date(ms);

 


3. 任意分量的計算:

   先取出分量值,做計算,再set回去!

date.setXXX():

1. 自動調整進制

           2.  *直接修改原日期對象*

如何保留原日期對象?先new出新Date對象,再set

varnewDate=new Date(oldDate.getTime());

 

日期格式轉換:都要自定義format(date)方法!

 

Number類型 API:

num.toFixed(n):按n位小數四捨五入,*返回一個字符串*!

何時使用:計算之後,顯示結果時,*最後調用toFixed方法*

vsMath.round(num):只能取整 返回一個數Number

num.toString(n):按n進制輸出數字的字符串格式

                  

錯誤處理:

什麼是錯誤:導致程序運行停止的運行時異常狀態

什麼是錯誤處理:在出現異常狀態時,保證程序不停止的機制

如何錯誤處理:

 

錯誤類型:Error類型:所有錯誤對象的父類型

6中子類型:

EvalError,

       RangeError:*參數*超出範圍

          比如:num.toFixed(n) n<0 拋出RangeError

       ReferenceError: 引用錯誤:找不到對象

比如:只要使用未聲明的變量時,都拋出ReferenceError

       SyntaxError: 語法錯誤!修改源代碼就可以解決!

       TypeError:錯誤的使用了類型和類型的方法!

       URIError:URI錯誤

 

如何處理錯誤:

try{

     可能出錯的代碼

}catch(err){ 只要拋出錯誤,都會創建一個Error對象

     錯誤處理的代碼

     1. 獲得錯誤信息:err.name 類型

     2. 根據錯誤的類型,執行不同的處理

}[finally{可有可無

//程序中使用了大對象!一定要在finally中主動釋放

     無論是否出錯,都必須執行的代碼

}]

 

能用if...else解決的問題,就不用try catch!

何時使用try catch?try catch處理的是無法預料的問題!

 

主動拋出異常:如何告知方法調用者出錯?

throw newError("自定義的錯誤信息")

 

Function對象:

1. 以聲明方式定義方法:放前放後無所謂

function 方法名(參數列表){方法體; return 返回值}

以創建對象方式定義方法:必須定義在使用之前!

2. var 方法名=new Function("參數1",...,"方法體; return 返回值")

只有聲明方式的方法定義才被提前解析!——方法聲明提前

 

重載:方法,根據傳入的參數列表不同,執行不同的任務

比如:function jz(money){//現金結賬:驗鈔,找零}

        functionjz(cardId,pwd){

              //刷卡結賬:驗證卡號,驗證密碼}

jz(300);

jz("0000655112341234","666666");

 

arguments對象:方法對象中保存所有參數的類數組對象

類數組對象(objectlike array):長的像數組的對象

*方法內,自動創建!直接使用!*

arguments.length:保存變量的個數

arguments[i]:訪問傳入的第i+1個變量

 

使用匿名函數賦值的方式定義方法:

匿名函數:沒有方法名的函數!

var compare=function(a,b){return a-b;}

鄙視題:js中方法定義的方式有幾種:3種!

          A.function compare(a,b){return a-b;}

          B.var compare=function(a,b){return a-b;}

   C. var compare=newFunction("a","b","return a-b;")

匿名函數2個用途:

1. 回調函數:函數何時執行,程序員不需要控制!

              由所在環境自動調用執行!

比較器!//var compare=function(a,b){return a-b;}

                    //arr.sort(compare);

                            arr.sort(function(a,b){returna-b;});

事件處理函數:οnclick="calc(13)"

2. 自調函數:匿名函數自己調用自己!

當函數不需要重複使用時,可使用匿名函數自調。

語法:(function(參數...){

                     方法體;

                })(參數值...);

在函數定義位置立即執行!

 

閉包:函數外使用了不屬於自己的局部變量

何時使用閉包?保護局部變量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章