- A+
所属分类:Web前端
ES6—数值(Number,Math对象)(复习+学习)
每天一学,今天要学习ES6的关于数的扩展以及复习,然后通过看书,查阅资料,以及webAPI来搞清楚遇到的,没见过的对象方法等等,下面为本次学习的笔记分类:
1.数值(表示)
2.Number对象
3.Math对象
4.总结
1.数值(表示)
1 //ES6 提供了二进制和八进制的写法(0b ||0o),0b 为二进制,0o为八进制。 2 //ES6与ES5中,ES5不许使用前缀0表示八进制,而ES6允许 3 //如果要将二或者八进制的数转化为十进制,可以使用Number对象 4 Number('0b111') //7 5 Number('0o10') //8 6 //十进制转化为其他进制(2)等等,利用num.toString('x'); 7 let a = 2; 8 console.log(a.toString(2)); //10
2.Number对象
2.1 Number.isFinite(),Number.isNaN()
1 //(1)Number.isFinite()与 全局isFinite()方法 2 //Number.isFinite() 为Number对象的一种方法,isFinite() 是全局方法,两者的目的都是为了判断一个数值是否有穷 3 4 //用法区别: 5 //Number.isFinite() 6 Number.isFinite(value); 7 //全局isFinite()方法 8 isFinite(testValue) 9 10 //差别: 11 Number.isFinite(value); //中的value只能是一个数值型的值,如果是字符串的数字,就会直接返回false 12 isFinite(testValue) //如果参数是一个字符串,可以先强转为数值,再进行测试 13 14 isFinite("115"); //true 15 Number.isFinite("115") //false
//(2)Number.isNaN() 与 全局isNaN()
//Number.isNaN() 方法确定传递的值是否为 NaN,并且检查其类型是否为 Number,更加稳妥。
//isNaN() 只检查一个值是否为NaN
//区别用法看一个例子
isNaN(NaN); //true
isNaN("NaN"); //true
Number.isNaN(NaN); //true
Number.isNaN("NaN"); //false
2.2 Number.parseInt()与Number.parseFloat()
1 //传统的有parseInt(),parseFloat()方法,但是ES6将这两个方法放到Number对象里了,用法不变,ES6新增了模块化的概念,这样才做更利于模块化 2 3 //(1)Number.parseInt() 方法依据指定基数 [ 参数 radix 的值],把字符串 [ 参数 string 的值] 解析成整数。 4 // Number.parseInt === parseInt; // true,表示两个用法一样 5 Number.parseInt(string[, radix]); // string 表示一个字符串 radix 表示表示半径(数学数值系统的基数)(了解) 6 console.log(Number.parseInt(12.25266)); //数值为非字符串的话,会调用toString方法转化,返回一个整值 7 8 //(2)Number.parseFloat() 方法可以把一个字符串解析成浮点数 9 Number.parseFloat(string)
2.3 Number.isInteger()
1 //用于判断一个数是否为整数,js中整数和浮点数的存储方法相同,因此3.0和3结果一样 2 3 number.isInteger(15.1) //false
2.4 Number.EPSILON
1 //仅仅表示一个极小值常量,用于判断误差范围,如果在该属性值范围内,则可以认为得到了正确答案
2.5 Number.isSafeInteger()
1 //Number.isSafeInteger()方法用来判断传入的参数值是否是一个“安全整数”(safe integer)。 2 Number.isSafeInteger(testValue) //参数为要测试的值 返回一个布尔值 3 Number.isSafeInteger(3); // true 4 Number.isSafeInteger(Math.pow(2, 53)) // false
3.Math对象
3.1 Math.trunc()
1 //Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。 2 Math.trunc(value) //value 可以取数字,返回值 3 //demo 4 Math.trunc(13.37) // 13 5 Math.trunc(42.84) // 42
3.2 Math.sign()
1 //判断数值的种类(非数值会转化为数值) 2 Math.sign(x); 3 4 //demo 5 Math.sign(3); // 1 整数返回 1 6 Math.sign(-3); // -1 复数返回-1 7 Math.sign("-3"); // -1 8 Math.sign(0); // 0 0 返回 0 9 Math.sign(-0); // -0 -0 返回-0 10 Math.sign(NaN); // NaN 非数值返回NaN
3.3 Math.cbrt()
1 //Math.cbrt() Math.cbrt() 函数返回任意数字的立方根.非数值也会先转化为数字再操作 2 Math.cbrt(x) 3 Math.cbrt(4) //1.5874010519681996
3.4 Math.clz32() 与 Math.imul()
1 //把这两个放一起是因为这两个都是32进制操作的,了解一下就行了,具体自行查阅 2 // Math.clz32() 函数返回一个数字在转换成 32 无符号整形数字的二进制形式后, 开头的 0 的个数, 比如 1000000 转换成 32 位无符号整形数字的二进制形式后是 00000000000011110100001001000000, 开头的 0 的个数是 12 个, 则 Math.clz32(1000000) 返回 12 3 //Math.imul() 方法返回两个数以32位带符号形式相乘的结果
3.5 Math.fround()
1 //Math.fround() 方法返回一个数的单精度浮点数形式 2 Math.fround() //0 3 Math.fround(1.337) // 1.3370000123977661
3.6 Math.hypot()
1 //Math.hypot() 函数返回所有参数的平方和的平方根 2 Math.hypot([value1[,value2, ...]]) //value1, value2, ...任意个数字,将所提供的参数求平方和后开平方根。如果有参数不能转换为数字,则返回 NaN。。 3 Math.hypot(3, 4); // 5
4.总结
本次大概学习了数值,对象方法,这些内容,我感觉有些常用的需要记忆一下,有些只需要了解一下,还有对数,双曲线,新增了一个指数运算**,等等内容可以自行查阅文档。继续努力!!