JavaScript知识点总结4

对象:封装一组类型的数据,提供一组方法(操作API)。

1.Math对象(与上面定义的对象不太一样)

专门执行数学计算的对象,封装了数学计算中常用的常量。

(1)取整

1.上取整:Math.ceil(n);

2.下取整:Math.floor(n);

3.四舍五入:Math.round(n);

round vs toFixed(都是取整)

    round:Math对象;    只能取整;               返回数字。

    Fixed:Number对象;按任意小数位取整;返回字符串。

(2)乘方/开平方

1. Math.pow(n,m):n的m次方。

2. Math.sqrt(n,m):n的平方根。

(3)获取最大/最小值(将一组数全部列出)

Math.max(a,b,c....)

Math.min(a,b,c....)

固定套路:变相实现获取数组中最大值:

       Math.max.apply(Math,arr);—>(等价于) Math.max(arr[0],arr[1],....)

(4)随机数

n = Math .random();n属于 [0,1)。

在任意min到max之间取一个随机整数(包含min、max):

       parseInt(Math.random() * (max - min + 1) + min);

  或Math.floor(Math.random() * (max - min + 1)) + min;

2.Date对象

封装了一个时间点,提供了对时间和日期的操作API。

Date中封装的是,从1970年1月1日0点0分0秒至今的毫秒数。

(1)创建Date对象

1. var now = new Date();获得当前时间

2. var time = new Date("xxxx/xx/xx  [xx:xx:xx]");

3. var time = new Date(年,月-1,日 [,时,分,秒]);

date.getTime():获得日期对象中的毫秒数。

3.异常/错误处理

程序发生错误时,保证程序不退出或正常退出。

(1)如何错误处理:tryCatch块

try{
    //可能出错的代码段
}catch(err){         //仅在发生错误时才执行
    //一旦发生错误err中就会自动存入Error对象
    //1.记录/显示错误的信息
    //2.继续向调用者抛出异常
}[finally{           //无论对错,一定会执行的代码段
    //一般用于,释放资源
}]

(2)何时定义错误处理:某段只要有可能出错,都要包在tryCatch块中。

(3)建议:尽量优先使用if...else结构判断已经预知的错误;只有无法预知的错误,才用 try catch。

(4)抛出自定义异常:throw new Error("自定义错误消息")

比如:如果程序员甲定义了一个方法,被程序员乙调用,如果乙错误的使用甲的方法,甲的方法中就要抛出自定义错误消息,乙在调用时,就要将甲的方法包在try块中。

 

理解:用户调用fun2,并向其输入一个input(任意类型内容),fun2中调用fun1(输出一个数字)。

因为fun1的输入必须是数字,但是调用者不一定知道参数必须是数字,所以在调用fun1的过程中可能传入非数字的参数,导致程序出错。

所以需要给fun1一个自我保护机制,让fun1主动抛出异常,告诉fun1的调用者(fun2),在调用fun1的过程中如果传入的参数不是数字,就会出错。

因为fun1抛出异常,即知道调用fun1时有可能出错,所以在fun2中将调用fun1的程序放在了try catch块中。

//fun1——功能:输出一个数字
function fun1(num){
    if(isNaN(num)){
        throw new Error("该函数接受的参数必须是数字");  //抛出自定义异常
    }else{
        alert(num);  //如果输入是数字,正常显示
    }
}

function fun2(input){
    try{
        fun1(input);  //将有可能出错的代码放在try块中
    }catch(err){
        alert("必须输入数字");  //如果传入的是非数字,会向用户展示的内容
        console.log(err.toString());  //如果传入的是非数字,在控制台输出自定义的错误信息
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值