美文网首页
1和new Number(1)的区别

1和new Number(1)的区别

作者: skoll | 来源:发表于2022-06-29 11:41 被阅读0次

    let num=1 原始类型

    1 .这样创建的一个是原始类型


    image.png

    2 .原始类型并不是一个对象,并没有对象橘有的一些属性和方法.但是可以调用toFixed()这些方法,真相就是这些方法都是从包装对象借用的,toFixed方法是在Number对象原型上的方法


    image.png
    //可以看到截图里面有这个

    let num=new Number(1) 包装对象

    1 .创建了一个对象
    2 .typeof num==object

    其他方法讲解

    1 .toExponential:把对象的值转成指数计数法,返回的是个字符串
    2 .toFixed:也会转为字符串.把数字转换为字符串,结果的小数点后有指定位数的数字.一直以为这是一个数字的方法,还是会返回数字..
    3 .toLocaleString:toLocaleString() 方法返回数字在特定语言环境下的表示字符串.先简答了解,后面真的用的时候在细看,总的来说就是数字转为当地的数字添加一些字符串比较实用

    let num = 1234567.89
            console.log(num.toLocaleString('de-DE'))
            //德国:使用都好作为小数分隔符,分位周期为千位
    
            console.log(num.toLocaleString('ar-EG'))
            //阿拉伯直接转为阿拉伯数字:强啊
    
            console.log(num.toLocaleString('zh-Hans-CN-u-nu-hanidec'))
            //数字转为汉字
    
            console.log(num.toLocaleString(['ban', 'od']))
            //提供一个数组,不满足前一个的时候,转为后一个
    
    options部分
    var number = 123456.789;
    
    // 要求货币格式
    console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
    // → 123.456,79 €
    
    // 日元不使用小数位
    console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
    // → ¥123,457
    
    // 限制三位有效数字
    console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
    // → 1,23,000
    
    

    4 .toPrecision:定的精度返回该数值对象的字符串表示:这个才是想要的四舍五入的操作.还是不能用

    let num = 123.456789
            console.log(num.toPrecision(1))
            //返回123.5,直接触发特殊情况,返回一个指数表示 1e+2
            //拿感觉这个方法还是不能用
    
            var numObj = 5.123456;
    console.log("numObj.toPrecision()  is " + numObj.toPrecision());  //输出 5.123456
    console.log("numObj.toPrecision(5) is " + numObj.toPrecision(5)); //输出 5.1235
    console.log("numObj.toPrecision(2) is " + numObj.toPrecision(2)); //输出 5.1
    console.log("numObj.toPrecision(1) is " + numObj.toPrecision(1)); //输出 5
    
    // 注意:在某些情况下会以指数表示法返回
    console.log((1234.5).toPrecision(2)); // "1.2e+3"
    

    5 .

    相关文章

      网友评论

          本文标题:1和new Number(1)的区别

          本文链接:https://www.haomeiwen.com/subject/tistbrtx.html