开发者社区> 杰克.陈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JavaScript Math和Number对象

简介: 原文:JavaScript Math和Number对象 Math 对象 :数学对象,提供对数据的数学计算。如:获取绝对值、向上取整等。无构造函数,无法被初始化,只提供静态属性和方法。 Number 对象 :Js中提供数字的对象。
+关注继续查看
原文:JavaScript Math和Number对象

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

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。

示例:

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。

示例:

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对象

 

==================================系列文章==========================================

本篇文章:3.5  JavaScript Math和Number对象

Web开发之路系列文章

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js Map对象的用法
给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长。
0 0
前端基础知识库-JavaScript对象的深拷贝
在JavaScript数据类型分为基础类型和引用类型,而引用类型又称为对象,可见了解对象是我们真正掌握JavaScript语言的必备技能。本章主要与大家一起去探索JavaScript对象的一些经常被我们忽略的以及难以理解的知识。好了,废话不多说让我们一起进入JavaScript对象的世界吧。
0 0
js判断一个对象是否在一个对象数组中
js判断一个对象是否在一个对象数组中
0 0
Postman 提供的Javascript 对象有哪些?
大家好,我是阿萨。 昨天介绍了Postman的前置操作是干什么的?有同学反馈说对Postman 提供的javascript 对象不熟悉,希望介绍下。今天这一篇文章就专门给大家介绍下。
0 0
原生js实现对象的克隆
原生js实现对象的克隆
0 0
js把对象装成数组对象
js把对象装成数组对象
0 0
简单解析JavaScript中的cookie对象
简单解析JavaScript中的cookie对象 前面说大了BOM的存储对象,现在简单了解一下cookie对象。 Cookie 用于存储 web 页面的用户信息。 大小限制为 4k。 安全性差。 1.创建cookie var aBtns = document.getElementsByTagName("button"); // 创建cookie document.cookie="name=value,name1=value1;expires= ;path=/" document.cookie = "name=小韩,n
0 0
JavaScript通过改变location对象的hash属性实现相同页面显示不同详情内容的效果
JavaScript通过改变location对象的hash属性的应用 前面我们学到了BOM的Location对象,现在来讲一下实际的应用。通过改变hash属性获取不同的数据。 1.列表页面代码: <a href="10模拟详情页面.html#0" target="_blank">张三</a> <a href="10模拟详情页面.html#1" target="_blank">李四</a> <a href="10模拟详情页面.html#2" target="_blank">王五</a> <a href="10模拟详情页面.html#3" target="_b
0 0
简单认识JavaScript的BOM对象
简单认识JavaScript的BOM对象 前面JavaScript中DOM的学习基本已经结束了。今天开始我们学习一下JavaScript中的BOM。 BOM(浏览器对象模型) Browser Object Model 所有有的浏览器都支持window对象, 浏览器的窗口 window对象是js的最高级 / 顶级对象。 所有js的全局对象, 变量, 函数 自动变成window对象的成员 全局变量相当于window对象的属性。 全局函数相当于window对象的方法。 a = 10; console.log(window.a);/
0 0
简单解析JavaScript中的正则表达式对象
简单解析JavaScript中的正则表达式对象 今天这篇篇博客来和大家讲一下JavaScript中的RegExp对象。 正则表达式:RegExp(Regular Expression)对象,简称正则式。时用来描述字符模式的对象,可以对字符串进行检索,匹配,替换等操作。 1.创建正则表达式 // 字面量 // 语法:var reg1=/表达式/修饰符 var reg=/a/igm; // 构造函数 // 语法:var reg2=new RegExp(表达式,修饰符) var reg2=new RegExp("a","igm"); /
0 0
+关注
杰克.陈
一个安静的程序猿~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript异步编程
立即下载
Javascript中的对象
立即下载
JS零基础入门教程(上册)
立即下载