0
点赞
收藏
分享

微信扫一扫

24js学习第十天Number对象

洛茄 2022-04-21 阅读 44
javascript

 // 01Number对象的创建
    // 字面量
    var num=10;
    console.log(num);
    console.log(typeof num);
    // new关键字
    // var num2=new Number(value)
    // 当参数的值不能转换为数字时,将返回NaN
    
    var num2=new Number(100);
    console.log(num2);
    console.log(typeof num2);

    var num3=new Number("100");
    console.log(num3);

    var num4=new Number("hello");
    console.log(num4);// NaN: Not a Number 
    

   // 02Number对象的精度进制

    // js中 只用一种数字类型 包含整数和小数(浮点型)
    var num1=100;
    var num2=100.0;

    // 科学计数法 极大的或绩效的数字可以使用科学(指数)计数法表示  
    // e:10的次方/次幂
    
    var a=12300000000000;
    var b=123e11;
    console.log(a);
    console.log(b);
    console.log(a===b);
    var c=0.00000000000123;
    var d=1.23e-12;
    console.log(c);
    console.log(d);

    // 精度
    // 整数(不适用于小数点或科学计数法) 最多15位
    var x=999999999999999;
    var y=9999999999999999;
    console.log(x);
    console.log(y);

    // 小数
    // 最大位数17位   运算不能保证100%准确
    // var n=0.0000000000000001;
    // var m=0.00000000000000012;
    // console.log(n);
    // console.log(m)
    console.log(0.1+0.2);//0.30000000000000004
    // 十进制转换为二进制  二进制转换为十进制  出现了偏差

    // 进制
    // 十进制  逢十进一 默认 
    var i=210;//0*1+1*10+2*10*10
    // 十六进制  逢十六进一  前缀0x    0123456789abcdef
    var j=0xaa;//10*1+10*16 
    console.log(j);
    // 八进制  前缀 0
    var k=0211;//1*1+1*8+2*8*8
    console.log(k);//137
    // 二进制 
    
    // 进制的转换  toString(进制)
    var m=20;
    console.log(m.toString(8));//24   4*1+2*8
    console.log(m.toString(16));//14  4*1+1*16
    console.log(m.toString(2));//10100 0*1+0*2+1*2*2+0*2*2*2+1*2*2*2*2
    console.log(j.toString(10));// 170


 

    // 03Number对象的属性
    // constructor    返回对创建此对象的 Number 函数的引用。
    // prototype    允许您可以向对象添加属性和方法。

    console.log(Number.prototype);

    // MAX_VALUE 可表示的最大的数。
    console.log(Number.MAX_VALUE);//1.7976931348623157e+308
    // MIN_VALUE 可表示的最小的数。
    console.log(Number.MIN_VALUE);//5e-324

    // NEGATIVE_INFINITY 负无穷大,溢出时返回该值。
    console.log(Number.NEGATIVE_INFINITY);//-Infinity
    console.log(-1/0);

    // POSITIVE_INFINITY    正无穷大,溢出时返回该值。
    console.log(Number.POSITIVE_INFINITY);//Infinity
    console.log(2/0);

    console.log(2/0===Number.POSITIVE_INFINITY);

    // NaN 非数字值
    console.log(Number.NaN);
    var a=NaN;
    var b=NaN;
    console.log(a==b);// false 
    
    // ES6新增的
    
    // 表示在 JavaScript 中最大的安全整数(253 - 1)。
    console.log(Number.MAX_SAFE_INTEGER);//9007199254740991
    // 表示在 JavaScript 中最小的安全整数(253 - 1)。
    console.log(Number.MIN_SAFE_INTEGER);//-9007199254740991
    
    // EPSILON: 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别
    console.log(Number.EPSILON);//2.220446049250313e-16
 

// 04Number对象的方法
    // toString()    把数字转换为字符串,使用指定的基数。
    // valueOf()    返回一个 Number 对象的基本数字值。

    console.log(Number.prototype);
    // toExponential()  把对象的值转换为指数(科学)计数法
    console.log((123.0000000001).toExponential());//1.230000000001e+2
    // toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。
    console.log((123.12737461891).toFixed(2));
    // toPrecision() 把数字格式化为指定的长度。
    console.log((123.12737461891).toPrecision(5));


    // isFinite(参数) 检测指定参数是否不为无穷大。  参数为NaN 或是正负无穷返回false  其他返回 true
    console.log(Number.isFinite(123));
    // isNaN(参数) 判断参数是否不是一个数字
    console.log(Number.isNaN("aaaa"));

    // 用来判断给定的参数是否为整数。
    console.log(Number.isInteger(100.111))
    // 判断传入的参数值是否是一个"安全整数"。
    console.log(Number.isSafeInteger(9007199254740992))

举报

相关推荐

0 条评论