zoukankan      html  css  js  c++  java
  • JavaScript Number 对象

     JavaScript Number 对象


    • JavaScipt中的所有事务都是对象
    • 对象是一种特殊的数据,对象拥有属性和方法。

    如何创建一个JavaScript的对象


    【1】定义并创建对象的实例

    使用函数来定义对象,然后创建新的对象实例

    创建对象的实例举例:

    使用函数来创建对象:

    创建对象实例

    JavaScript Number对象


    JavaScript数字

      1.JavaScript 只有一种数字类型。JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。

      2.可以使用也可以不使用小数点来书写数字。

    var pi=3.14;    // 使用小数点
    var x=34;       // 不使用小数点
    //极大的数字可以使用科学计数的方式
    var y=123e5;    // 12300000
    var z=123e-5;   // 0.00123

      3.JavaScript的数字均为64位

    • 最大值:±1.7976931348623157 x 10308
    • 最小值:±5 x 10 -324

       4.JavaScript数字的精度

    var x = 999999999999999;   // x 为 999999999999999
    var y = 9999999999999999;  // y 为 10000000000000000
    小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
    var x = 0.2+0.1; // 输出结果为 0.30000000000000004

      5.JavaScript的八进制和十六进制

      如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

    var y = 0377; 
    var z = 0xFF;

    Number 对象是原始数值的包装对象。

    Number 创建方式 new Number()。

    语法:

    var num = new Number(value);
    注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。

    对象的属性

      constructor:返回对创建此对象的 Number 函数的引用。

    说明:

      constructor 属性返回对创建此对象的 Boolean 函数的引用。

    语法:

    number.constructor

    返回值:

      函数对象. 创建此对象的 Number 函数的引用


    <script type="text/javascript"> var num = new Number(3.14); alert(num.constructor) </script> 输出结果: function Number() { [native code] }

       MAX_VALUE:表示做大的数

    说明:

      MAX_VALUE 属性是 JavaScript 中可表示的最大的数。

      它的近似值为 1.7976931348623157 x 10308

      注意:大于MAX_VALUE的数表示无穷大。

    MIN_VALUE 是 Javascript Number 对象的静态属性,所以调用该属性的方法为: Number.MIN_VALUE.

    使用自定义的 Number对象 x 调用该属性(x.MIN_VALUE),将返回 undefined:

    var x = 100;
    x.MIN_VALUE;
    
    输出结果:
    undefined

    语法:

    Number.MAX_VALUE

    返回值:

      最大数值, 1.7976931348623157e+308

    <body>
    <p id='demo'>点击按钮后经获取最大的值</p>
    <button onclick="get_max()" value="点击后获取最大值">点击后获取最大值</button>
    <script type="text/javascript">
        function get_max(){
            document.getElementById('demo').innerHTML = Number.MAX_VALUE;
        }
        
    </script>
    
    </body>
    1.7976931348623157e+308

      MIN_VALUE:可表示的最小的数。

    说明:

      MIN_VALUE 属性是 JavaScript 中可表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324

      注意: 比 MIN_VALUE 属性小的数将用 0 表示。

      注意: MIN_VALUE 是 JavaScript 最接近0的数,不是负值,负值属性为 MAX_NUMBER。

    MIN_VALUE 是 Javascript Number 对象的静态属性,所以调用该属性的方法为: Number.MIN_VALUE.

    使用自定义的 Number对象 x 调用该属性(x.MIN_VALUE),将返回 undefined:

    var x = 100;
    x.MIN_VALUE;
    输出结果
    undefined

    语法:

    Number.MIN_VALUE

    返回值:

      A Number, 5e-324

    <script type="text/javascript">
         document.write(Number.MIN_VALUE);
    </script>
    5e-324

      NaN:非数字值

      1.NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。

      2.可以把 Number 对象设置为该值,来指示其不是数字值。

      3.提示: 请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

    语法:

    Number.NaN

    返回值:

      NaN

    <script type="text/javascript">
         document.write(Number.MIN_VALUE);
             alert(Number.NaN); // NaN
    </script>

      POSITIVE_INFINITY:正无穷大,溢出时返回该值。

    说明:

      POSITIVE_INFINITY 属性值代表正无穷大。

      POSITIVE_INFINITY 属性表示大于 Number.MAX_VALUE 的值。

    注意: 

      POSITIVE_INFINITY 是 JavaScript Number 对象的静态方法。

      调用方法为: Number.POSITIVE_INFINITY.

      使用自定义的Number对象 x 调用该属性(x.POSITIVE_INFINITY)将返回 undefined:

    语法:

      Number.POSITIVE_INFINITY;

    返回值:

      The numeric value: Infinity


    <body>
        <p id='demo'>显示正无穷大的数值</p>
        <button onclick="get_data()">按钮</button>
    <script type="text/javascript">
         //单击显示正无穷大的数值
         function get_data(){
             var demo = document.getElementById('demo');
             demo.innerHTML=Number.POSITIVE_INFINITY;
         };
    </script>
    </body>

      prototype:允许您有能力向对象添加属性和方法。

    说明:

      prototype 属性允许您向对象添加属性和方法。

      当构造一个属性, 所有的 Number 对象将被添加上该属性及值。

      当构造一个方法时,所有的 Number 对象都会有这个方法。

      注意: Number.prototype 不允许引用一个单独的 Number 对象,但是可以使用 Number() 对象。

      注意:prototype 型是一个全局对象的构造函数,可用于所有的JavaScript对象

    语法:

    object.prototype.name=value

     实例:

    <body>
    <!-- 给Number对象添加一个方法返回数值的一半 -->
    <script type="text/javascript">
        Number.prototype.myMet=function(){
            this.myProp=this.valueOf()/2;
        }
        var n = new Number(55);
        n.myMet();
        var x = n.myProp;
        alert(x)//27.5
    </script>
    </body>

    对象的方法


      toExponential(x):把对象的值转换为指数计数法。

    说明:

      toExponential() 方法可把对象的值转换成指数计数法。

    语法:

    number.toExponential(x)

    参数:

    可选。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。

    number.toExponential(x)

    返回值:String

    返回 Number Object 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。

    <body>
    <p id="demo">显示数值的指数</p>
    <button onclick="get_date()">1000</button>
    <script type="text/javascript">
        function get_date(){
            var num=1000.234567;
            var x = document.getElementById('demo');
            x.innerHTML = num.toExponential();//1e+3
            // 注意小数点得位数
            x.innerHTML = num.toExponential(3);//1.000e+3
        }
    </script>
    </body>

       toFixed(x):把数字转换为字符串,结果的小数点后有指定位数的数字。(四舍五入)

    说明:

      toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

    语法:

    number.toFixed(x)

    参数:x 

      必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

    返回值:String

      小数点后有固定的 x 位数字

    <p id='demo'>根据需求获取小数得位数</p>
    <button onclick="change_date()">点击</button>
    <script type="text/javascript">
        function change_date(){
            var  num = 3.13445;
            var change = document.getElementById('demo');
            change.innerHTML = num.toFixed(2); // 3.13
    
            // 将一个数字,不留任何小数:
            change.innerHTML = num.toFixed(); // 3 
            // 转换一个比指定数小的小数点后的位数的数字:
            change.innerHTML = num.toFixed(10); // 3.1344500000
        }
    </script>
    </body>

      toPrecision(x):把数字格式化为指定的长度。

    说明:

      toExponential() 方法可把对象的值转换成指数计数法。

    语法

    number.toPrecision(x)

    参数:x

      必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。

     返回值:

      指定精度的数字格式

    <script type="text/javascript">
        var num = new Number(13.3714);
        var a = num.toPrecision();
        var b = num.toPrecision(2);
        var c = num.toPrecision(3);
        var d = num.toPrecision(10);
        document.write(a,'---',b,'---',c,'---',d);
    //13.3714---13---13.4---13.37140000
    </script> </body>

      toString():把数字转换为字符串,使用指定的基数。

    说明:

      数字的字符串表示。例如,当 radix 为 2 时,NumberObject 会被转换为二进制值表示的字符串。

    语法:

    number.toString(radix)

    参数:radix

    可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。

    • 2 - 数字以二进制值显示
    • 8 - 数字以八进制值显示
    • 16 - 数字以十六进制值显示

    返回值:

      把数字转换为字符串

    <body>
    <script type="text/javascript">
        var num = 15;
        var a = num.toString();
        var b = num.toString(2);
        var c = num.toString(8);
        var d = num.toString(16);
        // alert(a,'---',b,'---',c,'---',d);
        document.write(a,'---',b,'---',c,'---',d);
        //15---1111---17---f
    </script>
    </body>

      valueOf():返回一个 Number 对象的基本数字值。

    说明:valueOf() 方法可以字符串返回数字。

    语法:

    number.valueOf()

    返回值:

      一个数值得原始数值

    <body>
    <p id='demo'>valueof()方法测试</p>
    <button onclick="get_value()">点击</button>
    <script type="text/javascript">
        function get_value(){
            var num = 15;
            var x = document.getElementById('demo');
            x.innerHTML = num.valueOf();
        }
    </script>
    </body>
  • 相关阅读:
    APIO 2010 特别行动队 斜率优化DP
    洛谷 P2747 Canada Tour 周游加拿大 动态规划
    VIJOS-P1282 佳佳的魔法照片 排序
    [APIO2012]派遣 可并堆
    可并堆模板题-mergeable heap
    可并堆总结
    分治思想及树上点分治
    拉丁字母(英语)缩写
    区块链是什么?跟比特币有什么关系?
    究竟什么比特币?如何理解比特币?
  • 原文地址:https://www.cnblogs.com/Echo-O/p/9375166.html
Copyright © 2011-2022 走看看