[前端技术]如何加深对JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解

首先还是看看《The Definitive Guide, 4th Edition》书中对三个函数的的定义。

Math.ceil(x): round a number up

Arguments: Any numeric value or expression

Returns: The closest integer greater than or equal to x.

-----------------------------------------------------------------------------------------------------

Math.floor(x): round a number down

Arguments: Any numeric value or expression

Returns: The closest integer less than or equal to x.

-----------------------------------------------------------------------------------------------------

Math.round(x): round to the nearest integer

Arguments: Any number.

Returns: The integer closest to x.

 

通过对三个函数的原型定义的理解,其实很容易记住三个函数。

1. Math.ceil() 用作向上取整。

2. Math.floor() 用作向下取整。

3. Math.round() 用作四舍五入取整。

 

最后通过一个具体应用,进一步加深对三个函数的印象:

假设现在我要做一个Web Puzzle,需要获取一个指定范围的随机数,下面我会编写一个自定义函数getRangeRandom(m, n, t)。

 

代码
1 <script type="text/javascript">
2 /*
3 ** 函数功能: 获取指定范围的随机数
4 */
5 function getRangeRandom(m, n, t)
6 {
7 var seed =0;
8 switch(t)
9 {
10 // 随机数范围: m <= seed < n
11  case0:
12 seed = m + parseInt(Math.random() * n);
13 break;
14
15 // 随机数范围: m <= seed < n
16  case1:
17 seed = m + Math.floor(Math.random() * n);
18 break;
19
20 // 随机数范围: m < seed <= n
21  case2:
22 seed = m + Math.ceil(Math.random() * n);
23 break;
24
25 // 随机数范围: m <= seed <= n
26  case3:
27 seed = m + Math.round(Math.random() * n);
28 break;
29 }
30
31 return seed;
32 }
33 </script>

 

posted @ 2010-04-29 18:00  安布雷拉  阅读(789)  评论(0编辑  收藏  举报