JavaScript知识点总结4

it2022-05-08  9

对象:封装一组类型的数据,提供一组方法(操作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()); //如果传入的是非数字,在控制台输出自定义的错误信息 } }

 


最新回复(0)