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>

 

 

 posted on 2018-07-27 16:40  全村人的.希望  阅读(257)  评论(0编辑  收藏  举报