js常用技巧

作者: 2f25a5d8710f | 来源:发表于2017-09-06 18:07 被阅读24次

    根据时间字符串获取毫秒值

    let a = new Date(1504592552423250)
    a.getMilliseconds()
    // 此时获取的毫秒值是250,
    

    注意: 这是错误的。

    可以打印a 看a的值

    Fri Aug 21 49648 23:40:26 GMT+0800 (中国标准时间)
    

    正确的处理方法

    new Date() 中只能传入13位的数字

    以下是正确的code:

    let milliSecond = new Date(Number(Number(1504592552423250).toString().substr(0, 13))).getMilliseconds()
    // 输出值 423
    
    image.png

    学到的知识:

    1. new Date() 不能传入字符串
    2. getMilliseconds 可以获取日期的毫秒值
      new Date().getMilliseconds() 返回当前时间 毫秒值
    3. 字符串和数字转换的三种方式
      转换函数、强制类型转换、利用js变量弱类型转换

    一、转换函数 parseInt, parseFloat

    parseInt("1234blue"); //returns 1234
    parseInt("0xA"); //returns 10
    parseInt("22.5"); //returns 22
    parseInt("blue"); //returns NaN
    
    // parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。
    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10
    
    // 如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:
    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10
    
    parseFloat("1234blue"); //returns 1234.0
    parseFloat("0xA"); //returns NaN
    parseFloat("22.5"); //returns 22.5
    parseFloat("22.34.5"); //returns 22.34
    parseFloat("0908"); //returns 908
    parseFloat("blue"); //returns NaN
    

    二、 强制类型转换 Boolean, Number, String

    // 当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。
    // 如果该值是空字符串、数字0、undefined或null,它将返回false。
    Boolean(""); //false – empty string
    Boolean("hi"); //true – non-empty string
    Boolean(100); //true – non-zero number
    Boolean(null); //false - null
    Boolean(0); //false - zero
    Boolean(new Object()); //true – object
    // Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。
    Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "5.5 ") 5.5
    Number( "56 ") 56
    Number( "5.6.7 ") NaN
    Number(new Object()) NaN
    Number(100) 100  
    
    
    
    var s1 = String(null); //"null"
    var oNull = null;
    var s2 = oNull.toString(); //won't work, causes an error
    
    

    三、弱类型转换 (不推荐)

    var str= '012.345 ';
    var x = str-0;
    x = x*1;
    

    转换的实例参考来源

    相关文章

      网友评论

        本文标题:js常用技巧

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