js常用技巧

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

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
js常用技巧_第1张图片
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常用技巧)