JS笔记

作者: JasonCooper | 来源:发表于2018-02-24 11:00 被阅读0次

    1.比较小数相等时,切记不要直接使用===,而是使用相减取绝对值的方式
    --------------------------
    0.1 + 0.2 === 0.3 // false
    Math.abs(0.1 + 0.2 - 0.3) <= 1e-10 // true

    2.NaN独一无二的特点,就是他不等于他自己,如果一个变量不等于他自己,那么这个变量一定是NaN
    --------------------------
    NaN === NaN // false
    var a = NaN; a === a // false
    xxx === NaN // 永远不要这样写

    3.除了比较null或undefined,绝不要简单的把非严格相等 == 理解为两者表示的数字一样,它有一套非常复杂的转换规则:它会先将 %%转换为 @@,然后把 !! 转换为 **,如果 %% 是 ?? 类型,还会 xx 一把……具体还是自己差相关文档把

    4.new Date(dateString) 注意浏览器时区问题以及浏览器兼容性,建议-都替换成/进行时间转换
    --------------------------
    new Date('2018-01-01') // => "2018/1/1 08:00:00" 新版浏览器,IE 11
    new Date('2018-01-01') // => "2018/1/1 00:00:00" 某些旧版安卓
    new Date('2018-01-01') // => "Invalid Date" IE 8(这个忽略。。。)
    new Date('2018/01/01') // => "2018/1/1 00:00:00" 包括 IE 8 在内所有浏览器

    5.正确使用 parseInt
    建议对于数值转换一概使用强制转换函数 Number,如果你JS用6了可以使用 +(正号)。如果需要对某个数字取整,建议使用 Math.trunc。如果你能确定数值在 32 位以内,可以使用 x|0 或 ~~x等方式,可以相对的提高效率

    相关文章

      网友评论

          本文标题:JS笔记

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