JavaScript的Math对象

原文

  简书原文:https://www.jianshu.com/p/8776ec9cfb58

大纲

  前言
  1、Math对象的值属性
  2、Math对象的函数属性
  3、Math对象的函数的使用

前言

  Math对象是一个全局的对象,不需要定义一个新的对象可直接使用。
  Math 对象用于执行数学任务。
  Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()。

var resultNum1 = Math.abs(testNum);

1、Math对象的值属性

Math.E : 2.718281828459045
Math.LN10 : 2.302585092994046
Math.LN2 : 0.6931471805599453
Math.LOG2E: 0.6931471805599453
Math.LOG10E: 2.302585092994046
Math.PI: 3.141592653589793
Math.SQRT2 : 1.4142135623730951
Math.SQRT1_2: 0.7071067811865476(1/2的平方根)

2、Math对象的函数属性

abs(x);  //绝对值
exp(x);  //(e的x次方)
log(x);  //(x的自然对数)
max(x1,x2,x3...);  //最大值
min(x1,x2,x3...);  //最小值
pow(x,y);  //(x的y次方)
random();  //(随机数)
sqrt(x);  //(x的平方根)

//取整
ceil(x);
floor(x);
round(x);

//三角函数
cos(x);
sin(x);
tan(x);
acos(x);
asin(x);
atan(x);
atan2(y,2);

3、Math对象的函数的使用

3.1、取整方法:parseInt()、ceil()、floor()、round()

<!--
        parseInt():将浮点数转换成整数,直接取整数部分(是JavaScript的内置对象,
不是Math的方法)
        ceil():向上取整
        floor():向下取整
        round():四舍五入取整    
-->
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <script>
            var myNumber = prompt("Enter the number to be rounded","");
            document.write("<h3>The number you entered was "+myNumber+"</h3><br/>");
            document.write("<p>The rounding results for this number are </p>");
            document.write("<table width=150 border=1>");
            document.write("<tr><th>Method</th><th>Result</th></tr>");
            document.write("<tr><td>parseInt()</td><td>"+parseInt(myNumber)+"</td></tr>");
            document.write("<tr><td>ceil()</td><td>"+Math.ceil(myNumber)+"</td></tr>");
            document.write("<tr><td>floor()</td><td>"+Math.floor(myNumber)+"</td></tr>");
            document.write("<tr><td>round()</td><td>"+Math.round(myNumber)+"</td></tr>");
            document.write("</table>");
        </script>
    </body>
</html>

3.2、获取随机数的方法:random()方法

<!--
  随机投掷十次的骰子,获取骰子点数
-->
<html>
<head><title>Test</title></head>
<body>
<script>
var throwCount ;
var diceThrow;
for(throwCount = 0;throwCount<10;throwCount++){
    diceThrow = (Math.floor(Math.random() * 6) +1);
    document.write(diceThrow +"<br/>");
}
//4 5 4 6 2 1 3 6 4 6

3.3、数的平方方法:pow()方法

<!--
  使用pow()方法模拟fix()方法
-->
<html>
<head><title>Test</title></head>
<body>
<script>
function fix(fixNumber, decimalPlaces){
    var div = Math.pow(10,decimalPlaces);
    fixNumber = Math.round(fixNumber * div)/div;
    return fixNumber;
}

var number1 = prompt("Enter the number with decimal places you want to fix","");
var number2 = prompt("How many decimal places do you want?","");

document.write(number1 + " fixed to " + number2 + " decimal places is:");
document.write(fix(number1,number2));//234.234234 fixed to 2 decimal places is:234.23
</script>
</body>
</html>

3.4、最大最小方法:min()、max()

/*
  但是由于min()和max()方法只能接受任意多个数值参数,而不能将变量传入,所以一般
使用apply来重写这个方法
*/
var values = [1,5,87,6,45,67];
var max = Math.max(values);
console.log(max);//NaN
var max = Math.max.apply(Math,values);
console.log(max);//87

  

 

posted @ 2018-07-07 18:51  前端路上的小兵  阅读(373)  评论(0编辑  收藏  举报