js学习笔记一数字
js所有数值都用浮点数来表示
十六进制数字以0x或者0X为前缀,由0-9,a-f(大小写均可)之间字符构成,a-f对应的数值是10-15
八进制数字以数字0开始,其后跟随0-7之间的数字,严格来说,js是禁止8进制的直接量的
浮点数可以用指数计数法来标识,
比如6.02e23表示6.02*1023
1.4738223e-23表示1.4738223*10-23
js的数学运算符包含+(加法),-(减法),*(乘法),/(除法),%(求余:求整数除后的余数)等
更加复杂的数学运算作为Math对象的属性定义的函数和常量来表示
Math.pow(2,53) 2的53次幂
Math.round(.6) 四舍五入为1
Math.ceil(.6) 向上求整为1
Math.floor(.6) 向下求整为0
Math.abs(-5) 求绝对值
Math.max(x,y,z) 返回最大值
Math.min(x,y,z) 返回最小值
Math.random() 生成一个大于等于0小于1的伪随机数
Math.PI π,圆周率
Math.E 自然对数的底数
Math.sqrt(3) 3的平方根
Math.pow(3,1/3) 3的立方根
Math.sig(0) 三角函数,还有Math.cos,Math.atan
Math.log(10) 10的自然对数
Math.log(100)/Math.LN10 以10为底100的对数
Math.exp(3) e的3次幂
js预定义了全局变量 Infinity 和 NaN ,用来表示正无穷大和非数字值
NaN有个特点就是他和任何值都不相等,包括自身
二进制浮点数编程有个问题,就是数值相等的比较
例如
var x=.3-.2;
var y=.2-.1;
x==y
返回值是false,也就是不相等
所以要尽量避免小数运算,例如金额可以使用整数分来运算,而不是使用小数元来运算
js学习笔记一数字的更多相关文章
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
- WebGL three.js学习笔记 加载外部模型以及Tween.js动画
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
随机推荐
- Blocks 推出矩阵公式。矩阵快速密
Blocks 设涂到第I块时,颜色A,B都为偶数的数量为ai,一奇一偶的数量为bi,都为奇数为ci, 那么涂到第i+1快时有 a[i+1]=2*a[i]+b[i]+0*c[i]; b[i+1]=2* ...
- Hastiness
Problem Description How many problems did you AC?When you read this problem, don’t hasty and careles ...
- C# 枚举绑定到ComboBox
来自:http://blog.csdn.net/crazy_frog/article/details/7705442 方法一: 绑定 enum TestEnum {zero=0,one=1,two=2 ...
- 证明Dijkstra中加入S的点已经最优
语言抽象,仅供自用. 证明一个即将加入S集合的点u必然D[u]=最小值min: 假设D[u] != 最小值,那么即说明存在一条最短路径,该路径可以描述为:S集合中的一个点(至少为起始点) + 一个 ...
- MySQL 中随机抽样:order by rand limit 的替代方案
最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RA ...
- 剑指Offer01 杨氏数组寻值
/************************************************************************* > File Name: 001.c > ...
- 转:鏖战双十一-阿里直播平台面临的技术挑战(webSocket, 敏感词过滤等很不错)
转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的 ...
- Socket 两平台互相 通信 .NET
两个平台互相通信,对方发送数据过来,我方接收数据,对数据进行处理后发送结果给对方,对方进行相应的操作. 首页,我方开启服务监听: Socket socket = new Socket(AddressF ...
- Developers, do consider different user roles! - A bad experience with cron
The Story: Last week, I found one of our embedded arm linux device ran out of flash space( totally ...
- PHP实现前台同步显示后台任务进度
一次批量发送几千条短信. 如果直接在后台循环执行虽然可行,但是前台操作用户就只能坐着空等,完全看不到后台执行结果,所以考虑能不能有一种办法可以在php后台执行过程中同时在前台显示后台执行任务进度呢. ...