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(参数...){

                     方法体;

                })(参数值...);

在函数定义位置立即执行!

 

闭包:函数外使用了不属于自己的局部变量

何时使用闭包?保护局部变量

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