ES6标准入门之数值的拓展解说
ES6提供了二进制和八进制数值的新写法,分别用前缀0b(或0B)和0o(或0O)表示。
0b111110111 === 503 // true
0o767 === 503 // true
如果要将使用0b、0o和0x前缀的字符串数值转化为十进制,要使用Number方法。
ES6中对Number对象的拓展
1、Number.isFinite() //检查一个数值是否有限,返回true/false;
2、Number.isNaN() //检查一个值是否为NaN,返回true/false;
3、Number.parseInt() //将一个值转化为整数;
4、Number.parseFloat() //将一个值转化为浮点数;
5、Number.isInteger() //判断一个值对否为整数,返回true/false;
6、Number.EPSILON //新增一个极小的常量,2.220446049250313e-16
7、安全整数和Number.isSafeInteger()
JavaScript能够准确表示的整数范围在-2的53次幂到2的53次幂之间(不包含两个端点),超过这个范围就无法精确表示。ES6引入Number.MAX_SAFE_INTEGET = Math.pow(2, 53) - 1 表示安全范围的上限,引入Number.MIN_SAFE_INTEGER = Math.pow(-2, 53) - 1表示安全范围的下限。Number.isSafeInteger()就是判断某个值是否在安全范围之内,与安全整数的两个边界值比较一下。
ES6中对Math对象的拓展
1、Math.trunc() // 去除一个数的小数部分,返回整数部分;
2、Math.sign() //判断一个数到底是正数、负数还是0,
其返回值有5中情况:
1)、参数为正数,返回+1;
2)、参数为负数,返回-1;
3)、参数为0,返回0;
4)、参数为-0;返回-0;
5)、其他值,返回NaN;
3、Math.cbrt() //计算一个数的立方根;
4、Math.clz32() //JavaScript的整数使用32位二进制形式表示,返回一个数的32位无符号整数形式有多少个前导0;
5、Math.imul() //返回两个数以32位带符号整数形式想成的结果;
6、Math.fround() //返回一个数的单精度浮点数形式;
7、Math.hypot() // 返回所有参数平方和的平方根;
8、对数方法
1)、Math.expm1(x) //返回e的x次幂减1,即Math.exp(x) - 1;
2)、Math.log1p(x) //返回ln(1+x),即Math.log(1+x);
3)、Math.log10(x) //返回以10为底的x的对数;
4)、Math.log2(x) //返回以2为底的x的对数;
9、双曲函数方法
1)、Math.sinh(x) // 返回x的双曲正弦;
2)、Math.cosh(x) // 返回x的双曲余弦;
1)、Math.tanh(x) // 返回x的双曲正切;
1)、Math.asinh(x) // 返回x的反双曲正弦;
1)、Math.acosh(x) // 返回x的反双曲余弦;
1)、Math.atanh(x) // 返回x的反双曲正切;
10、Math.signbit() //判断一个值的正负,起返回值如下:
1)、参数是NaN,返回false;
2)、参数是-0,返回true;
1)、参数是负数,返回true;
1)、其他情况返回false;
11、指数运算符(**)
2 ** 2 // 4
指数运算符和等号结合形成一个新的赋值运算符(**=)
let a = 2;
a **= 2等同于a = a * a
ES6标准入门之数值的拓展解说的更多相关文章
- ES6标准入门之字符串的拓展讲解
在开始讲解ES6中字符串拓展之前,我们先来看一下ES5中字符串的一些方法. 获取字符串长度 str.length 分割字符串 str.split() 拼接字符串 str1+str2 或 str1.co ...
- ES6标准入门之正则表达式的拓展
所谓正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规 ...
- ES6标准入门之变量的解构赋值简单解说
首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组 ...
- 《ES6标准入门》(阮一峰)--7.数值的扩展
1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 ...
- ES6标准入门 第五章:数值的扩展
1.二进制和八进制数值表示法 二进制前缀:0b(或0B): 八进制前缀:0o(或0O). 注意:ES5的严格模式 和 ES6中不再允许使用 0 表示八进制. 将二进制和八进制数值转换为十进制数值 ...
- 《ES6标准入门》(阮一峰)--11.对象的新增方法
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0.J ...
- 【学习笔记】ES6标准入门
这里简要记录一下对自己感触比较深的几个知识点,将核心的应用投放于实际的项目之中,提供代码的可维护性. 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = ...
- [转] 《ES6标准入门》读书笔记
来源:https://segmentfault.com/a/1190000005863641 let和const命令 ES6新增let命令,用于声明变量,是块级作用域. let声明的变量不会像var声 ...
- ES6标准入门 第一章:简介
ECMAScript 6 是JavaScript 语言的下一代标准:发布于2015年,又称为ECMAScript 2015. ECMAScript 与 JavaScript 的关系:前者是后者的规范, ...
随机推荐
- Net is as typeof 运行运算符详解
概述 在了解运行运算符的前提我们需要了解什么是RTTI ,在任何一门面向对象的语言中,都有RTTI这个概念(即 运行时). RTTI(Run-Time Type Identification),通过运 ...
- C# 利用反射将枚举绑定到下拉框
前言:反射(Reflection)是.NET提供给开发者的一个强大工具,尽管作为.NET框架的使用者,很多时候不会用到反射.但在一些情况下,尤其是在开发一些基础框架或公共类库时,使用反射会使系统架构更 ...
- 9102年了,你还在用for循环操作集合?
本文首发于cdream的个人博客,点击获得更好的阅读体验! 欢迎转载,转载请注明出处. 前段时间公司书架多了一本<Java8 实战>,毕竟久闻lambda的大名,于是借来一阅.这一看,简直 ...
- POJ1236(KB9-A 强连通分量)
Network of Schools Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19326 Accepted: 75 ...
- 【 js 基础 】【 源码学习 】柯里化和箭头函数
最近在看 redux 的源码,代码结构很简单,主要就是6个文件,其中 index.js 负责将剩余5个文件中定义的方法 export 出来,其他5个文件各自负责一个方法的实现. 大部分代码比较简单,很 ...
- 数组无法使用 forEach() 方法 - 分号的重要性
问题描述: 函数的结构如上图所示,在调用该函数的时候,浏览器报错: 分析原因: 在 js 的语法中,如果语句独占一行,通常可以省略句末的分号 但实际上 js 解析代码的时候,只有在句末缺少分号就无法正 ...
- js-ES6学习笔记-module(2)
1.如果想为输入的变量重新取一个名字,import命令要使用as关键字,将输入的变量重命名. import { lastName as surname } from './profile'; 2.im ...
- CSS实现英文或拼音单词首字母大写
CSS实现英文或拼音单词首字母大写,只需要在css样式中加入: text-transform: capitalize 即可. 测试代码如下: <!doctype html> <htm ...
- 只有mdf文件的恢复方法
EXEC sp_attach_single_file_db @dbname = 'AdventureWorksDW2012_Data',@physname = 'D:\Program Files (x ...
- 在ActiveReports页面报表中显示Google地图
有些报表需求中需要我们显示国家.城市等地址信息,在报表中添加地图信息会让报表给最终用户代码更多有效信息. 在报表中可以将地图作为图片添加进来,当一个图片显示在报表中时,该图片必须存放到本地计算机或者服 ...