JavaScript Math和Number对象
目录
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。
示例:
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对象
JavaScript Math和Number对象的更多相关文章
- HTML 学习笔记 JavaScript (Math和Number对象)
标签: Math对象:数学对象,提供对数据的数学计算.如:获取绝对值,向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. Number对象:Js中提供的数字的对象.包含整数,浮点数等等.并提 ...
- JavaScript Math和Number对象研究
1. Math 对象 1.1 介绍 Math 对象,是数学对象,提供对数据的数学计算,如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 1.2 构造函数 无 : ...
- javascript语法之number对象和Math对象
这两个对象很简单,一个例子就能掌握用法. 一:number对象. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- JavaScript Math(数学对象)
Math(数学对象) Math 算术函数和常量 Math.abs( ) 计算绝对值 Math.acos( ) 计算反余弦值 Math.asin( ) 计算反正弦值 Math.atan( ) 计算反正切 ...
- js中Number对象与MATH方法整理总结
W3C的文档: Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_VALUE 可表示的最小的数 ...
- JavaScript:Number 对象
ylbtech-JavaScript:Number 对象 1. Number 对象返回顶部 Number 对象 Number 对象是原始数值的包装对象. 创建 Number 对象的语法: var my ...
- 浏览器端-W3School-JavaScript:JavaScript Number 对象
ylbtech-浏览器端-W3School-JavaScript:JavaScript Number 对象 1.返回顶部 1. JavaScript Number 对象 Number 对象 Numbe ...
- java基础63 JavaScript中的Number、Math、String、Date对象(网页知识)
本文知识点(目录): 1.Number对象 2.Math对象 3.String对象 4.Date对象 (日历例子) 1.Number对象 1.1.Number对象的创建方式 方式1: ...
- JS的六大对象:Global、Math、Number、Date、JSON、console,运行在服务器上方的支持情况分析
在ASP中使用runat="server"来调用JS的相关函数,代码如下: <script runat="server" language="j ...
随机推荐
- NodeJs之调试
关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...
- Restful资源文章
理解RESTful架构 RESTful API设计指南 RESTful架构详解 NodeJs的RESTful API
- 传播正能量——做一个快乐的程序员
引子 今天在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累,顿时有感而发.自己本来不擅长写文章,更不擅长写这种非技术性的文章,但是在思绪喷薄之际,还是止不住有很多话要说.针对从客观上说&quo ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- 初学者看过来之JSON入门
1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是"记号.标记法"的意思,连在一起,便 ...
- bzoj3037--贪心
题目大意: applepi手里有一本书<创世纪>,里面记录了这样一个故事--上帝手中有着N 种被称作"世界元素"的东西,现在他要把它们中的一部分投放到一个新的空间中去以 ...
- 说一说python的牛比与不爽
本人写了10年php了.今年开始改写python了.不是说php有什么不好,php在自己的势力范围内还是很牛比的.只是我已经不能满足于php那两亩地了. 习惯了脚本,所以很自然就过度到python了. ...
- MediatorPattern(中介者模式)
/** * 中介者模式 * @author TMAC-J * 研究了这么多设计模式,觉得无非就是几点: * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低 * 2.面向接 ...
- 一切从“简”,解放IT运维人员
运维人的神技 运维既是个技术活儿也是个苦差事,而运维人员被期望有着无限的技能:主机.存储.网络.操作系统样样精通,而且还要会写SQL.shell.开发语言java..net.python等等,对业务更 ...
- 简约而不简单的Django新手图文教程
本文面向:有python基础,刚接触web框架的初学者. 环境:windows7 python3.5.1 pycharm专业版 Django 1.10版 pip3 一.Django简介 百度百 ...