浅谈JavaScript Math和Number对象

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。
 
示例:

代码如下:

h.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。
 
示例:

代码如下:

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。
 
示例:

代码如下:

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。
 
示例:

代码如下:

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。
 
示例:

代码如下:

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。
 
示例:

代码如下:

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
 
示例:

代码如下:

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。
 
示例:

代码如下:

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} 返回参数的平方根
 
示例:

代码如下:

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 定义

代码如下:

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。
 
示例:

代码如下:

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 。
 
示例:

代码如下:

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} 返回整数或浮点数数值
 
示例:

代码如下:

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} 返回整数数值
 
示例:

代码如下:

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} 返回转换后的指数类型字符串
 
示例:

代码如下:

(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填充;返回值为四舍五入后的值
 
示例:

代码如下:

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} 转换后进制的字符串
 
示例:

代码如下:

(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()方法,指定小数位。
 
示例:

代码如下:

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。
 
示例:

代码如下:

console.log('1' - 0); // => 1 :纯数字字符串减去0,可以快速转换为Nubmer对象
console.log( ('1' - 0).toFixed(2) ); // => 1.00 :快速转换为Nubmer对象后调用实例方法
console.log('1' - 'a'); // => NaN :一方无法转换为Nubmer对象

(0)

相关推荐

  • JavaScript中的Math 使用介绍

    复制代码 代码如下: Math.pow(2,53) //=>9007199254740992: 2 的53次幂 Math.round(.6) //=>1.0: 四舍五入

  • JavaScript Math.ceil 方法(对数值向上取整)

    JavaScript Math.ceil 方法 Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数.语法如下: Math.ceil(x) 参数说明: 参数 说明 x 必需.必须是一个数值. 提示:该方法与 Math.floor 方法正好相反. Math.ceil 方法实例 <script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />"

  • Javascript Math对象

    Math对象 Math对象是在高中数学课就学过的内置对象.它知道解决最复杂的数学问题的所有公式,如果给它要处理的数字,即能计算出结果. Math对象有几个属性,主要是数学界的专用值.下表类出了这些属性: 属  性 说    明 E 值e,自然对数的底 LN10 10的自然对数 LN2 2的自然对数 LOG2E 以2为底E的对数 LOG10E 以10为底E的对数 PI 值π SQRT1_2 1/2的平方根 SQRT2 2的平方根 虽然这些值的意义与用法不在本书讨论范围内,但如果清楚它们是什么,在需

  • JavaScript Math.floor方法(对数值向下取整)

    JavaScript Math.floor 方法 Math.floor 方法用于对数值向下取整,即得到小于或等于该数值的最大整数.语法如下: Math.floor(x) 参数说明: 参数 说明 x 必需.必须是一个数值. 提示:该方法与 Math.ceil 方法正好相反. Math.floor 方法实例 <script language="JavaScript"> document.write( Math.floor(0.35) + "<br />&q

  • JavaScript使用Math.Min返回两个数中较小数的方法

    本文实例讲述了JavaScript使用Math.Min返回两个数中较小数的方法.分享给大家供大家参考.具体如下: 下面JavaScript通过Math.Min返回两个数中较小的那个 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to return the lowest number of 5 and 10. </p> <button onclic

  • 浅谈JavaScript中Date(日期对象),Math对象

    Date对象 1.什么是Date对象? 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 语法:var Udate=new Date(); 注:初始值为当前时间(当前电脑系统时间). 2.Date对象常用方法: 3.Date方法实例 复制代码 代码如下: var newTime=new Date();//获取当前时间             var millSecond=Date.now();//当前日期转换成的毫秒数             var fullYear=n

  • javascript Math.random()随机数函数

    random函数语法 Math.random(); random函数参数 无参数 random函数返回值 返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) random函数示例 document.write(Math.random()); 返回随机数 document.write(Math.random()*(20-10)+10); 返回10-20的随机数 document.write(Math.random()*(n-m)+m); 返回指定范围的随机数(m-n之间)的公式

  • JavaScript使用Max函数返回两个数字中较大数的方法

    本文实例讲述了JavaScript使用Max函数返回两个数字中较大数的方法.分享给大家供大家参考.具体如下: JavaScript的Math对象带有一个max函数用于获取两个数字的较大数,下面的代码详细演示了max的用法 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to return the highest number of 5 and 10. </p&

  • 浅谈JavaScript Math和Number对象

    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

  • 浅谈JavaScript的内置对象和浏览器对象

    在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象. 对象包含两个要素: 1. 用来描述对象特性的一组数据,也就是若干变量,通常称为属性. 2. 用来操作对象特性的若干动作,也就是若干函数,通常称为方法. 浏览器对象 对象 含义 anchor 当前文档中设置了name属性的超链接 applet 当前文档中的小程序 area 客户端图形映射中的区域 button 表单中的按钮 checkbook 表单中的复选框 document 当前窗口中的HTML文档

  • 浅谈JavaScript 中有关时间对象的方法

    ECMAScript中的Date类型是在早期 Java 中的 Java.unile.Date 类基础上构建的.为此 Date 类型使用自 UTC (Coordinated Universal Time, 国际协调时间)1970年1月1日午夜开始经过的毫秒数来保存日期. 在这种数据存储格式下, Date 类型保存的日期能够精确到1970年1月1日之前或之后的285616年 •Date.parse(string) 接受一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数,不能转换则返

  • 浅谈javascript构造函数与实例化对象

    前言--讲在前面 我想有很多以前很少接触后台编程语言的初学者朋友跟我一样,对javascript里面一系列的"名词"搞的一头雾水.好像大概知道讲的是什么,但其实理解的还是不清楚:我想,学习任何一种知识,首当其冲应该把最基本的名词解释搞清楚(知道它讲的到底是什么,有助于我们更好的理解它.)即知其然知其所以然,这样对以后的进阶学习是很有帮助的.下面的简单讲一下我自己对这样一些看似不重要但又不得不清楚的知识点的理解.(若有出入,欢迎指正) 1.什么是构造函数 构造函数 ,是一种特殊的方法.主

  • 浅谈JavaScript中的String对象常用方法

    String对象提供的方法用于处理字符串及字符. 常用的一些方法: charAt(index):返回字符串中index处的字符. indexOf(searchValue,[fromIndex]):该方法在字符串中寻找第一次出现的searchValue.如果给定了fromIndex,则从字符串内该位置开始搜索,当searchValue找到后,返回该串第一个字符的位置. lastIndexOf(searchValue,[fromIndex]):从字符串的尾部向前搜索searchValue,并报告找到

  • 浅谈JavaScript 浏览器对象

    window window对象不但充当全局作用域,而且表示浏览器窗口. window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度.内部宽高是指除去菜单栏.工具栏.边框等占位元素后,用于显示网页的净宽高.还有一个outerWidth和outerHeight属性,可以获取浏览器窗口的整个宽高. 补充: 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:

  • 浅谈JavaScript对象的创建方式

    通过Object构造函数或对象字面量创建对象时,使用同一个接口创建很多对象时,会产生大量的重复代码.为了简化,引入了工厂模式. 工厂模式 function createPerson(name, age, job) { var obj = new Object(); obj.name = name; obj.age = age; obj.job = job; obj.sayHello(){ alert(this.name); }; return obj; } var p1 = createPers

  • 浅谈JavaScript的计时器对象

    1.JavaScript计时器,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行. 计时器类型: 1)一次性计时器:仅在指定的延迟时间之后触发一次. 2)间隔性触发计时器:每隔一定的时间间隔就触发一次. 计时器方法: 1)setInterval() :在执行时,从载入页面后每隔指定的时间执行代码. //语法 setInterval(代码,交互时间); //参数说明:1. 代码:要调用的函数或要执行的代码串.2. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=

  • 浅谈JavaScript对象与继承

    JavaScript是我在C语言之后接触的第二门编程语言,大一暑假的时候在图书馆找了一本中国人写的JavaScript程序设计来看.那个时候在编程方面几乎还是小白,再加上那本书根本没有提JavaScript的编程机制,又有一些误导性的话,一直以来对JavaScript有很深的误解,认为JavaScript只是一门在浏览器上运行的面向对象语言,值此文来写下JavaScript当中很具有迷惑性和容易误解的地方.当然限于作者水平有限,也没有什么开发经验,所以难免有疏漏之处,还望批评指正. JavaSc

随机推荐