JavaScript中Number对象的介绍(代码示例)

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

本篇文章给大家带来的内容是关于JavaScript中Number对象的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、创建Number实例对象

    /**      * new Number(value);      * value  被创建对象的数字值      *      * Number 对象主要用于:         如果参数无法被转换为数字,则返回 NaN。         在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换      */     let number = new Number("1100");     console.log(number); //Number {1100}     console.log(Number("123"));     // 123     console.log(Number(""));        // 0     console.log(Number("0x11"));    // 17     console.log(Number("0b11"));    // 3     console.log(Number("0o11"));    // 9     console.log(Number("foo"));     // NaN     console.log(Number("100a"));    // NaN

二、Number静态属性

1.Number.EPSILON 属性

表示 1 和大于 1 的最小值(可表示为 Number)的差值,EPSILON 属性的值接近于 2.2204460492503130808472633361816E-16,或者 2^(-52)

    let x = 0.2;     let y = 0.3;     let z = 0.1;     let equal = (Math.abs(x - y + z) < Number.EPSILON); //true

2.Number.MAX_SAFE_INTEGER 属性

常量表示在 JavaScript 中最大的安全整数(maxinum safe integer)(2^53 – 1)

3.Number.MAX_VALUE 属性

表示在 JavaScript 里所能表示的最大数值,接近于 1.79E+308,大于 MAX_VALUE 的值代表 “Infinity”

4.Number.MIN_SAFE_INTEGER 属性

代表在 JavaScript中最小的安全的integer型数字 (-(2^53 – 1))

5.Number.MIN_VALUE 属性

表示在 JavaScript 中所能表示的最小的正值,值约为 5e-324,小于 MIN_VALUE (“underflow values”) 的值将会转换为 0

6.Number.NEGATIVE_INFINITY 属性

表示负无穷大,其值和全局对象的 Infinity 属性的负值相同

7.Number.NaN 属性

表示“非数字”(Not-A-Number),和 全局的NaN 相同

8.Number.POSITIVE_INFINITY 属性

表示正无穷大,其值同全局对象 Infinity 属性的值相同

9.Number.prototype 属性

表示 Number 构造函数的原型,所有 Number 实例都继承自 Number.prototype,修改 Number 构造函数的原型对象会影响到所有 Number 实例

三、Number静态方法

1.Number.isFinite() 方法用来检测传入的参数是否是一个有穷数

    /**      * Number.isFinite() 方法用来检测传入的参数是否是一个有穷数(finite number)      * Number.isFinite(value)      * value   要被检测有穷性的值      *      * 和全局的 isFinite() 函数相比,这个方法不会强制将一个非数值的参数转换成数值,这就意味着,只有数值类型的值,且是有穷的(finite),才返回 true      * 返回值:一个 布尔值 表示给定的值是否是一个有穷数      */     console.log(Number.isFinite(Infinity));  // false     console.log(Number.isFinite(NaN));       // false     console.log(Number.isFinite(-Infinity)); // false     console.log(Number.isFinite(0));         // true     console.log(Number.isFinite(2e64));      // true     console.log(Number.isFinite('0'));       // false, 全局函数 isFinite('0') 会返回 true

2.Number.isInteger() 方法用来判断给定的参数是否为整数

    /**      * Number.isInteger() 方法用来判断给定的参数是否为整数      * Number.isInteger(value)      * value   要判断此参数是否为整数      *      * 如果被检测的值是整数,则返回 true,否则返回 false。注意 NaN 和正负 Infinity 不是整数      * 返回值:判断给定值是否是整数的 Boolean 值      */     console.log(Number.isInteger(0));         // true     console.log(Number.isInteger(1));         // true     console.log(Number.isInteger(-100000));   // true     console.log(Number.isInteger(0.1));       // false     console.log(Number.isInteger(Math.PI));   // false     console.log(Number.isInteger(Infinity));  // false     console.log(Number.isInteger(-Infinity)); // false     console.log(Number.isInteger("10"));      // false     console.log(Number.isInteger(true));      // false     console.log(Number.isInteger(false));     // false     console.log(Number.isInteger([1]));       // false

3.Number.isNaN() 方法确定传递的值是否为 NaN和其类型是 Number

    /**      * Number.isNaN() 方法确定传递的值是否为 NaN和其类型是 Number。它是原始的全局isNaN()的更强大的版本      * Number.isNaN(value)      * value  要被检测是否是 NaN 的值      *      * NaN 最特殊的地方就是,我们不能使用相等运算符(== 和 ===)来判断一个值是否是 NaN,因为 NaN == NaN 和 NaN === NaN 都会返回 false      * 返回值:一个布尔值,表示给定的值是否是 NaN      */     console.log(NaN == NaN); //false     console.log(NaN === NaN); //false     console.log(Number.isNaN(NaN));        // true     console.log(Number.isNaN(Number.NaN)); // true     console.log(Number.isNaN(0 / 0));     // true  // 下面这几个如果使用全局的 isNaN() 时,会返回 true。     console.log(Number.isNaN("NaN"));      // false,字符串 "NaN" 不会被隐式转换成数字 NaN。     console.log(Number.isNaN(undefined));  // false     console.log(Number.isNaN({}));         // false     console.log(Number.isNaN("blabla"));   // false     console.log(isNaN("NaN"));      // true     console.log(isNaN(undefined));  // true     console.log(isNaN({}));         // true     console.log(isNaN("blabla"));   // true

4.Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)

    /**      * Number.isSafeInteger() 方法用来判断传入的参数值是否是一个“安全整数”(safe integer)      * Number.isSafeInteger(testValue)      * testValue   需要检测的参数      *      * 返回值:一个布尔值 表示给定的值是否是一个安全整数(safe integer)      */     console.log(Number.isSafeInteger(3));                    // true     console.log(Number.isSafeInteger(Math.pow(2, 53)));       // false     console.log(Number.isSafeInteger(Math.pow(2, 53) - 1));   // true     console.log(Number.isSafeInteger(NaN));                  // false     console.log(Number.isSafeInteger(Infinity));             // false     console.log(Number.isSafeInteger("3"));                  // false     console.log(Number.isSafeInteger(3.1));                  // false     console.log(Number.isSafeInteger(3.0));                  // true

5.Number.parseFloat() 方法可以把一个字符串解析成浮点数。该方法与全局的 parseFloat() 函数相同

    /**      * Number.parseFloat() 方法可以把一个字符串解析成浮点数。该方法与全局的 parseFloat() 函数相同      * Number.parseFloat(string)      * string 被解析的字符串      */     console.log(Number.parseFloat("3.14")); //3.14     console.log(Number.parseFloat("314e-2")); //3.14     console.log(Number.parseFloat("0.0314E+2")); //3.14     console.log(Number.parseFloat("3.14more non-digit characters")); //3.14

6.Number.parseInt() 方法可以根据给定的进制数把一个字符串解析成整数。该方法和全局的 parseInt() 函数相同

    /**      * Number.parseInt() 方法可以根据给定的进制数把一个字符串解析成整数。该方法和全局的 parseInt() 函数相同      * Number.parseInt(string[, radix])      * string   要被解析的值。         如果参数不是一个字符串,则将其转换为字符串(使用  ToString 抽象操作),字符串开头的空白符将会被忽略      * radix   一个介于2和36之间的整数,表示上述字符串的基数         比如参数"10"表示使用我们通常使用的十进制数值系统         当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10      *      * 返回值:返回解析后的整数值。如果被解析参数的第一个字符无法被转化成数值类型,则返回 NaN      */     console.log(Number.parseInt("015", 10)); //15     console.log(Number.parseInt("0xF", 16)); //15     console.log(Number.parseInt('017', 8)); //15     console.log(Number.parseInt("1111", 2)); //15     console.log(Number.parseInt(15.99, 10)); //15

四、Number实例方法

1.toExponential() 方法以指数表示法返回该数值字符串表示形式

    /**      * toExponential() 方法以指数表示法返回该数值字符串表示形式      * numObj.toExponential(fractionDigits)      *      * fractionDigits  可选,一个整数,用来指定小数点后有几位数字。默认情况下用尽可能多的位数来显示数字      * 返回值:一个用幂的形式 (科学记数法) 来表示Number 对象的字符串      */     let number1 = 777.1234;     console.log(number1.toExponential()); //输出 7.771234e+2     console.log(number1.toExponential(4)); //输出 7.7712e+2     console.log(number1.toExponential(2)); //输出 7.77e+2

2.toFixed() 方法使用定点表示法来格式化一个数

    /**      * toFixed() 方法使用定点表示法来格式化一个数      * numObj.toFixed(digits)      *      * digits  小数点后数字的个数;介于0到20(包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0      *      * 返回值:所给数值的定点数表示法的字符串形式      */     let number2 = 12345.6789;     console.log(number2.toFixed());      // 返回 "12346":进行四舍五入,不包括小数部分     console.log(number2.toFixed(1));     // 返回 "12345.7":进行四舍五入     console.log(number2.toFixed(6));     // 返回 "12345.678900":用0填充     console.log(-2.34.toFixed(1));         // 返回 -2.3 (由于操作符优先级,负数不会返回字符串)     console.log((-2.34).toFixed(1));       // 返回 "-2.3" (若用括号提高优先级,则返回字符串)

3.toPrecision() 方法以指定的精度返回该数值对象的字符串表示

    /**      * toPrecision() 方法以指定的精度返回该数值对象的字符串表示      * numObj.toPrecision(precision)      *      * precision  可选。一个用来指定有效数个数的整数      *      * 返回值:以定点表示法或指数表示法表示的一个数值对象的字符串表示,四舍五入到 precision 参数指定的显示数字位数      */     let number3 = 5.123456;     console.log(number3.toPrecision());  //输出 5.123456     console.log(number3.toPrecision(5)); //输出 5.1235     console.log(number3.toPrecision(2)); //输出 5.1     console.log(number3.toPrecision(1)); //输出 5  // 注意:在某些情况下会以指数表示法返回     console.log((1234.5).toPrecision(2)); // "1.2e+3"

4.toString() 方法返回指定 Number 对象的字符串表示形式

    /**      * toString() 方法返回指定 Number 对象的字符串表示形式      * numObj.toString([radix])      *      * radix  指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10      */     let count = 10;     console.log(count.toString());    // 输出 '10'     console.log((17).toString());     // 输出 '17'     console.log((17.2).toString());   // 输出 '17.2'     let x = 6;     console.log(x.toString(2));       // 输出 '110'     console.log((254).toString(16));  // 输出 'fe'     console.log((-10).toString(2));   // 输出 '-1010'     console.log((-0xff).toString(2)); // 输出 '-11111111'

5.valueOf() 方法返回一个被 Number 对象包装的原始值

    /**      * valueOf() 方法返回一个被 Number 对象包装的原始值      * numObj.valueOf()      *      * 返回值:表示指定 Number 对象的原始值的数字      */     let number4 = new Number(10);     console.log(typeof number4);  // object     let num = number4.valueOf();     console.log(num);            // 10     console.log(typeof num);    // number
本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » JavaScript中Number对象的介绍(代码示例)

发表评论

提供最优质的资源集合

立即查看 了解详情