[前端技术]如何加深对JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解...
首先還是看看《The Definitive Guide, 4th Edition》書(shū)中對(duì)三個(gè)函數(shù)的的定義。
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.
?
通過(guò)對(duì)三個(gè)函數(shù)的原型定義的理解,其實(shí)很容易記住三個(gè)函數(shù)。
1. Math.ceil() 用作向上取整。
2. Math.floor() 用作向下取整。
3. Math.round() 用作四舍五入取整。
?
最后通過(guò)一個(gè)具體應(yīng)用,進(jìn)一步加深對(duì)三個(gè)函數(shù)的印象:
假設(shè)現(xiàn)在我要做一個(gè)Web Puzzle,需要獲取一個(gè)指定范圍的隨機(jī)數(shù),下面我會(huì)編寫(xiě)一個(gè)自定義函數(shù)getRangeRandom(m, n, t)。
?
代碼 1 <script type="text/javascript">2 /*
3 ** 函數(shù)功能: 獲取指定范圍的隨機(jī)數(shù)
4 */
5 function getRangeRandom(m, n, t)
6 {
7 var seed =0;
8 switch(t)
9 {
10 // 隨機(jī)數(shù)范圍: m <= seed < n
11 ?case0:
12 seed = m + parseInt(Math.random() * n);
13 break;
14
15 // 隨機(jī)數(shù)范圍: m <= seed < n
16 ?case1:
17 seed = m + Math.floor(Math.random() * n);
18 break;
19
20 // 隨機(jī)數(shù)范圍: m < seed <= n
21 ?case2:
22 seed = m + Math.ceil(Math.random() * n);
23 break;
24
25 // 隨機(jī)數(shù)范圍: m <= seed <= n
26 ?case3:
27 seed = m + Math.round(Math.random() * n);
28 break;
29 }
30
31 return seed;
32 }
33 </script>
?
轉(zhuǎn)載于:https://www.cnblogs.com/JavCof/archive/2010/04/29/1724193.html
總結(jié)
以上是生活随笔為你收集整理的[前端技术]如何加深对JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MapReduce的优点
- 下一篇: ie浏览器里面无法输入文字: