js数据类型-Number

js的几种原始数据类型:Undefined、Null、Boolean、Number、string。
可以用typeof运算符判断一个值是否表示一个原始类型,返回值类型与其变量值类型一致,。
JavaScript中的所有事物都是对象:数字、字符串、布尔、数组、日期等等。
Number对象是原始数值的包装对象,创建Number对象的语法:

var Num=new Number(value);

返回值:当Number()和运算符new一起作为构造函数使用时,它返回一个新创建的Number.

var Num=Number(value);

返回值:当Number()作为调用函数使用时,它将自己的参数转成一个原始的数值,并返回这个值,如果转换失败就返回NaN.
参数value是要创建的Number对象的数值,或者是要专程数字的值。

<script type="text/javascript" language="JavaScript">
    var num=1;
    var num1=Number(1);
    var num2=new Number(1);
    
    alert(num==num1);//true
    alert(num==num2);//true
    alert(num1==num2);//true
      //  ==表示只是值相等
    
    alert(typeof (num));//number
    alert(typeof num1);//number
    alert(typeof num2);//object
    
    alert(num===num1);//true
    alert(num===num2);//false
    alert(num1===num2);//false
    //    ===表示值和类型都相同
</script>

javascript数字可以使用也可以不使用小数点来书写:

var pi=3.14;//使用小数点
var x=34;//不使用小数点

极大数字或极小数字可通过科学计数法来写:

var y=123e5;//12300000
var z=123e-5;//0.00123

所有的JavaScript数字均为64位
JavaScript不是类型语言。与其他编程语言不同,JavaScript不定义不同类型的数字,比如整数,短、长浮点等等。
JavaScript中的所有数字均存储为根为10的64位(8比特),浮点数。
精度
整数(不使用小数点或指数计数法)最多为15位。
小数的最大位数是17,但是浮点运算并不总是100%准确:
var x=0.2+0.1; //0.30000000000000004(17位)

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

var y=0377;
var z=0xFF;

alert(0.1+0.2);//0.30000000000000004精度为17位
alert(0377);//255;前缀为0表示是8进制,输出时强制转化为十进制
alert(0xFF);//255

数字Number的属性

  • constructor
  • MAX_VALUE 最大数
  • MIN_VALUE 最小数
  • NaN 非数字
  • NEGATIVE_INFINITY 负无穷大,溢出时返回
  • POSITIVE_INFINITY 正无穷大,溢出时返回

数字Number的方法

  • toString() 把数字转换为字符串,使用指定的基数
<script type="text/javascript" language="JavaScript">
        
            var num=123;
            alert(num.constructor);//输出:function Number() { [native code] }
            alert(Number);//输出:function Number() { [native code] }
            alert(num.constructor===Number);//true
        
            alert(Number.MAX_VALUE);//最大值1.7976931348623157e+308
            alert(Number.MIN_VALUE);//最小值5e-324
        
            alert(NaN);//NaN是一个特殊的数字;每一个NaN都是一个不同的特殊的数字;所以NaN==NaN返回是false
        
            alert(typeof (NaN));//number
        
            alert(Number.NEGATIVE_INFINITY);//-INFINITY表示负无穷大
            alert(-1/0);//-Infinity;
            alert(Number.POSITIVE_INFINITY);//INFINITY表示正无穷大
        
            alert('a'-'b');//NaN
            isNaN();//是不是NaN这个数,返回值是Boolean
            alert(isNaN(NaN));//isNaN()只要参数不是NaN返回false,否则返回true
        	alert(num.toString());//返回字符串‘123’
            alert(typeof (num.toString()));//string
        
        </script>

猜你喜欢

转载自blog.csdn.net/qq_34752068/article/details/85932089