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>
  • 相关阅读:
    HDU 1813 Escape from Tetris
    BZOJ 2276 Temperature
    BZOJ 4499 线性函数
    BZOJ 3131 淘金
    HDU 5738 Eureka
    POJ 2409 Let it Bead
    POJ 1286 Necklace of Beads
    POJ 1696 Space Ant
    Fox And Jumping
    Recover the String
  • 原文地址:https://www.cnblogs.com/Echo-O/p/9375166.html
Copyright © 2011-2022 走看看