zoukankan      html  css  js  c++  java
  • JavaScript Math 对象

    本文由我从网上整理而来、、、

    Math 对象用于在 JavaScript 进行常见的数学计算。

    与 String、Date 对象不同的是,Math 对象并不是对象的类,没有构造函数 Math(),因此无需创建 Math 对象而可以直接使用 Math 对象。同样的,Math 对象内的方法也是静态方法,可以通过 Math.function 的方式直接使用。

    提示

    如果进行普通的加减乘除等运算,请参考《JavaScript 运算符》一节的具体内容。

    Math 对象属性

    JavaScript 提供 8 种 Math 对象的属性,表示一些常用的算术值:

    属性说明
    Math.E 算术常量 e,即自然对数的底数(约等于2.718)
    Math.LN2 2 的自然对数(约等于0.693)
    Math.LN10 10 的自然对数(约等于2.302)
    Math.LOG2E 以 2 为底的 e 的对数(约等于 1.414)
    Math.LOG10E 以 10 为底的 e 的对数(约等于0.434)
    Math.PI 圆周率(约等于3.14159)
    Math.SQRT1_2 2 的平方根的倒数(约等于 0.707)
    Math.SQRT2 2 的平方根(约等于 1.414)

    使用 Math 的属性

    Math 对象的上述属性可以直接使用:

    <script language="JavaScript">
    
    var pi = Math.PI;
    document.write( pi );
    
    </script>
    

    运行该例子,输出:

    3.141592653589793
    

    Math 对象方法

    Math 对象还提供了如下方法用于处理常见的数学计算:

    方法说明
    Math.abs 得到数的绝对值
    Math.acos 得到数的反余弦值
    Math.asin 得到数的反正弦值
    Math.atan 得到数的反正切值
    Math.atan2(y,x) 从 x 轴到点 (x,y) 的角度值(介于 -PI 与 PI 弧度之间)
    Math.ceil 向上取整(大于或等于当前数的整数),与 floor() 相反
    Math.cos 得到数的余弦值
    Math.exp(x) 得到 e 的 x 次幂
    Math.floor 向下取整(小于或等于当前数的整数),与 ceil() 相反
    Math.log 得到数的自然对数值(底为e)
    Math.max 得到参数中最大的数,与 min() 相反
    Math.min 得到参数中最小的数,与 max() 相反
    Math.pow(x,y) 得到 x 的 y 次幂的值
    Math.random 得到 0 ~ 1 之间的随机数
    Math.round 按照四舍五入的规则取整
    Math.sin 得到一个数字的正弦值
    Math.sqrt 得到一个数的平方根
    Math.tan 得到一个数字的正切值

    目录

    1. Math 对象 :数学对象,提供对数据的数学计算。如:获取绝对值、向上取整等。无构造函数,无法被初始化,只提供静态属性和方法。

    2. Number 对象 :Js中提供数字的对象。包含整数、浮点数等等。并提供数字的类型转换、小数点截取等方法。

    1. Math 对象

    1.1 介绍

      Math 对象,是数学对象,提供对数据的数学计算,如:获取绝对值、向上取整等。无构造函数,无法被初始化,只提供静态属性和方法。

    1.2 构造函数

      无 :Math 对象无构造函数,无法被初始化,只提供静态属性和方法。

    1.3 静态属性

    1.3.1 Math.E 常量e。返回自然对数的底数:2.718281828459045

    1.3.2 Math.PI :常量π。返回圆周率的值 :3.141592653589793

    1.4 静态方法

    1.4.1 Math.sin(value) :正弦函数
    1.4.2 Math.cos(value) 余弦函数
    1.4.3 Math.tan(value) :正切函数
    1.4.4 Math.asin(value) :反正弦函数
    1.4.5 Math.acos(value) :反余弦函数
    1.4.6 Math.atan(value) :反正切函数

      

    1.4.7 Math.abs(value) :返回绝对值

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回参数的绝对值数字。若参数不为数字,返回NaN。

    示例:

    1
    2
    3
    4
    5
    Math.abs('123'); // => 123 :纯数字字符串
    Math.abs('-123'); // => 123
    Math.abs(123); // => 123
    Math.abs(-123); // => 123
    Math.abs('123a'); // => NaN :非纯数字字符串

      

    1.4.8  Math.ceil(value) : 对一个数向上取整,并不是四舍五入

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回取整后的值。若参数不为数字,返回NaN。

    示例:

    1
    2
    3
    4
    5
    6
    Math.ceil(2.7); // => 3
    Math.ceil(2.3); // => 3 :2.3 向上取整返回 3
    Math.ceil(-2.7); // => -2
    Math.ceil(-2.3); // => -2
    Math.ceil('2.7'); // => 3 :纯数字字符串
    Math.ceil('2.7a'); // => NaN :非纯数字字符串

    1.4.9 Math.floor(value) :对一个数向下取整,并不是四舍五入

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回取整后的值。若参数不为数字,返回NaN。

    示例:

    1
    2
    3
    4
    5
    6
    Math.floor(2.7); // => 2
    Math.floor(2.3); // => 2
    Math.floor(-2.7); // => -3 :-2.7 向下取整返回 -3
    Math.floor(-2.3); // => -3
    Math.floor('2.7'); // => 2 :纯数字字符串
    Math.floor('2.7a'); // => NaN :非纯数字字符串

    1.4.10 Math.max(value1,value2...valueN) :返回参数中最大的值

    参数:

    ①value1,value2.....valueN {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回最大值。若一个参数不为数字,返回NaN。

    示例:

    1
    2
    3
    Math.max(1, 2, 3, 4, 5); // => 5
    Math.max(1, 2, 3, 4, '5' ); // => 5
    Math.max(1, 2, 3, 4, 'a'); // => NaN

      

    1.4.11 Math.min(value1,value2...valueN) :返回参数中最小的值

    参数:

    ①value1,value2.....valueN {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回最大值。若一个参数不为数字,返回NaN。

    示例:

    1
    2
    3
    Math.min(1, 2, 3, 4, 5); // => 1
    Math.min('1', 2, 3, 4, 5); // => 1
    Math.min(1, 2, 3, 4, 'a'); // => NaN

    1.4.12 Math.pow(x,y) :返回x的y次方

    参数:

    ①x {Number | NumberStr} :数字或者纯数字的字符串。

    ②y {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Number} 返回x的y次方。若一个参数不为数字,返回NaN。

    示例:

    1
    2
    3
    4
    Math.pow(2, 3); // => 8 :2的3次方
    Math.pow(3, 2); // => 9 :3的2次方
    Math.pow('4', 2); // => 16 :4的2次方
    Math.pow('2a', 2); // => NaN

    1.4.13 Math.random() :返回一个伪随机数,大于0,小于1.0

    参数:

    返回值:

    {Number} 返回一个伪随机数,大于0,小于1.0

    示例:

    1
    2
    3
    4
    Math.random(); // => 0.8982374747283757
    Math.random(); // => 0.39617531932890415
    Math.random(); // => 0.35413061641156673
    Math.random(); // => 0.054441051790490746

    1.4.14 Math.round(value) : 四舍五入后取整

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串。

    返回值:

    {Integer} 返回参数四舍五入后的整数。若参数不为数字,返回NaN。

    示例:

    1
    2
    3
    4
    5
    6
    7
    Math.round(2.5); // => 3
    Math.round(2.4); // => 2
    Math.round(-2.6); // => -3
    Math.round(-2.5); // => -2 :-2.5四舍五入为 -2
    Math.round(-2.4); // => -2
    Math.round('2.7'); // => 3 :纯数字字符串
    Math.round('2.7a'); // => NaN :非纯数字字符串

    1.4.15 Math.sqrt(value) :返回参数的平方根

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串

    返回值:

    {Number} 返回参数的平方根

    示例:

    1
    2
    3
    4
    console.log( Math.sqrt(9) ); // => 3
    console.log( Math.sqrt(16) ); // => 4
    console.log( Math.sqrt('25') ); // => 5
    console.log( Math.sqrt('a') ); // => NaN

    2. Number 对象

    2.1 介绍

      Number 对象,是数字对象,包含js中的整数、浮点数等等。

    2.2 定义

    1
    2
    var a = 1;
    var b = 1.1;

    2.3 静态属性

    2.3.1 Number.MAX_VALUE :表示JS中最大的数字,约为 1.79e+308

    2.3.2 Number.MIN_VALUE :表示JS中最小的数字,约为 5e-324

    2.3.3 Number.NaN :返回NaN,表示非数字值,与任意其他数字不等,也包括NaN本身。应使用Number.isNaN() 来进行判断。

    2.3.4 Number.NEGATIVE_INFINITY :返回 -Infinity ,表示负无穷。

    2.3.5 Number.POSITIVE_INFINITY  :返回 Infinity ,表示正无穷。进行计算的值大于Number.MAX_VALUE就返回 Infinity 。

    2.4 静态方法

    2.4.1 Number.isInteger(value) :判断参数是否为整数 

    参数:

    ①value {Number} :数字

    返回值:

    {Boolean} 返回参数是否为整数 。纯整数的字符串也返回false。

    示例:

    1
    2
    3
    4
    5
    Number.isInteger(1); // => true
    Number.isInteger(1.1); // => false
    Number.isInteger('1'); // => false :纯整数的字符串也返回false
    Number.isInteger('1.1'); // => false
    Number.isInteger('a'); // => false :非字符串返回false

    2.4.2 Number.isNaN(value) :判断参数是否为NaN

    参数:

    ①value {Object} :任意类型

    返回值:

    {Boolean} 返回参数是否为NaN 。

    示例:

    1
    2
    3
    4
    Number.isNaN(NaN); // => true
    Number.isNaN('NaN'); // => false :'NaN'字符串,并不为NaN
    Number.isNaN(1); // => false
    Number.isNaN('1'); // => false

    2.4.3 Number.parseFloat(value) :把参数转换为浮点数

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串

    返回值:

    {Integer | Float} 返回整数或浮点数数值

    示例:

    1
    2
    3
    4
    5
    6
    Number.parseFloat(1); // => 1 :整数还是返回整数
    Number.parseFloat(1.1); // => 1.1
    Number.parseFloat('1aaa'); // => 1 :字符串前面为数字的,只返回数字
    Number.parseFloat('1.1aaa'); // => 1.1
    Number.parseFloat('a1'); // => NaN :非数字开头,返回NaN
    Number.parseFloat('a'); // => NaN

    2.4.4 Number.parseInt(value) :把参数转换为整数

    参数:

    ①value {Number | NumberStr} :数字或者纯数字的字符串

    返回值:

    {Integer} 返回整数数值

    示例:

    1
    2
    3
    4
    5
    6
    Number.parseInt(1); // => 1
    Number.parseInt(1.1); // => 1 :浮点数返回整数
    Number.parseInt('1aaa'); // => 1 :字符串前面为数字的,只返回数字
    Number.parseInt('1.1aaa'); // => 1
    Number.parseInt('a1'); // => NaN :非数字开头,返回NaN
    Number.parseInt('a'); // => NaN

    2.5 实例方法

    2.5.1 toExponential(value) :将一个数字转为指数类型,参数表示小数点后的位数

    参数:

    ①value {Number}  :表示小数点后的位数

    返回值:

    {String} 返回转换后的指数类型字符串

    示例:

    1
    2
    3
    (123456789).toExponential(2); // => 1.23e+8 :小数点2位
    (123456789).toExponential(5); // => 1.23457e+8 :小数点5位
    (123456789).toExponential(10); // => 1.2345678900e+8 :小数点10位,不足位数用0补位

    2.5.2 toFixed(value) :将一个数字转换为指定小数位数的字符串。不传入参数,就是没小数位。返回值为四舍五入

    参数:

    ①value {Number}  :表示小数点后的位数

    返回值:

    {String} 返回转换后的字符串;不够小数位以0填充;返回值为四舍五入后的值

    示例:

    1
    2
    3
    console.log((1).toFixed(2)); // => 1.00
    console.log((1.2).toFixed(2)); // => 1.20 :不足位数,以0补位
    console.log((1.277).toFixed(2)); // => 1.28 :进行了四舍五入

    2.5.3 toString() :使用指定的进制,将一个数字转换为字符串。不传入参数,默认为十进制。

    参数:

    ①value {Number}  :表示进制数,取值范围:2到36

    返回值:

    {String} 转换后进制的字符串

    示例:

    1
    2
    3
    4
    (10).toString(); // => 10 :默认为十进制
    (10).toString(2); // => 1010 :二进制
    (10).toString(10); // => 10 :十进制
    (10).toString(16); // => a :十六进制

      

    2.6 应用场景

    2.6.1 浮点数的加减乘除异常

    说明:Js中的2个浮点数进行加减乘除运算,会返回异常的数值,如:0.2+0.7,返回0.899999999999。可以使用toFixed()方法,指定小数位。

    示例:

    1
    2
    3
    4
    5
    6
    7
    8
    console.log(0.2 + 0.7); // => 0.8999999999999999
    console.log(0.7 - 0.5); // => 0.19999999999999996
    console.log(3.03 * 10); // => 30.299999999999997
     
    // 使用toFixed()方法
    console.log( (0.2 + 0.7).toFixed(2) ); // => 0.90
    console.log( (0.7 - 0.5).toFixed(2) ); // => 0.20 
    console.log( (3.03 * 10).toFixed(2) ); // => 30.30

      

    2.6.2 减法运算

    说明:Js中进行减法运算时,会先把前后的值转换为数值再进行运算。若转换失败,返回NaN。

    示例:

    1
    2
    3
    console.log('1' - 0); // => 1 :纯数字字符串减去0,可以快速转换为Nubmer对象
    console.log( ('1' - 0).toFixed(2) ); // => 1.00 :快速转换为Nubmer对象后调用实例方法
    console.log('1' 'a'); // => NaN :一方无法转换为Nubmer对象
  • 相关阅读:
    奔驰4-MATIC和奥迪quattro的区别和共同点是什么(杂记)
    ibatis.net:QueryForObject(转)
    iBatis入门(转)
    javax.servlet.ServletException: java.lang.NullPointerException 空指针异常
    报错:Action[/statisticsManage] does not contain specified method (check logs)
    eclipse下,64位tomcat报错(转)
    Resource '/servers' does not exist 问题的解决(转)
    Ext.data.SimpleStore的使用方法
    combo的displayField和valueField属性
    Exception occurred during processing request: null java.lang.NullPointerException
  • 原文地址:https://www.cnblogs.com/qilinge/p/5248472.html
Copyright © 2011-2022 走看看