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对象
  • 相关阅读:
    fn project 试用之后的几个问题的解答
    fn project 扩展
    fn project 生产环境使用
    fn project 对象模型
    fn project AWS Lambda 格式 functions
    fn project 打包Function
    fn project Function files 说明
    fn project hot functions 说明
    fn project k8s 集成
    fn project 私有镜像发布
  • 原文地址:https://www.cnblogs.com/qilinge/p/5248472.html
Copyright © 2011-2022 走看看