美文网首页让前端飞
Javascript一些符号实用小技巧总结

Javascript一些符号实用小技巧总结

作者: CoolBii | 来源:发表于2018-06-27 14:03 被阅读38次
    1. 利用非! !!简单的布尔值的隐式转换,
      var foo = 0, 
      bar = 1
      var baz = !foo // true
      or
      var baz = !!foo // false
      
      var qux = !bar // false
      or
      var qux = !!bar // true
    

    多用于if...else...语句中条件表达式中, 下面是关于部分特殊值的隐式转换

    值类型 !!
    undefined false
    0 false
    1 true
    null false
    '' false
    ' ' false
    非空字符 true
    ... ...
    1. ||&& 的使用技巧
      “或 ||”: 遇到true就返回,全部为false才返回false
      “与 &&”: 遇到false就返回false, 全部为true才返回true
    1 || 0 // true
    1 && 0 // false
    
    1 || 2 || 0 // 1
    1 && 2 && 0 // 0
    
    1 || 2 && 0 // 1
    1 && 2 || 0 // 2
    
    1 || 2 && 3 // 1
    

    ||在代码中经常用于赋值语句的降级处理

    var data = dataByAjax || null
    

    &&可用于条件判断,一些场景也可替代繁琐的if else语句,例如

    isTrue && alert('Bingo!')
    // 相当于
    if(isTrue) {
      alert('Bingo!')
    }
    

    3.+ -等运算符
    加号运算可以将数字类型的值转换成字符串,减号以及乘号*等都可以将字符串转换成数字类型的值

    var foo = 1 + '0' // `10`
    typeof foo // 'string'
    
    var bar = ‘1’ - 0 // 1
    typeof bar // number
    
    bar = '1' * 1 // 1
    typeof bar // number
    

    加号还有个可人儿的用法,快速获取毫秒值

    +new Date() === new Date().getTime() // true
    
    1. 其他运算符
      ~~这个符号用来代替Math.floor()
    ~~3.22 === Math.floor(3.22) // true
    

    本文介绍的都是写实际业务开发过程中很实用的东西,这里既然说到了~~的用法,那有的童鞋会不会想,有~~那就肯定还有~吧!答案是肯定的

    ~2 === -3 // true
    ~-1 === 0 // true
    ~4 === -5 // true
    ...
    

    这个怎么回事儿呢?这里涉及到二进制数的运算规则
    具体想了解请参阅https://blog.csdn.net/u014291497/article/details/49927019

    其实还有很多奇技淫巧,后面想起来的话会陆续添加。

    相关文章

      网友评论

        本文标题:Javascript一些符号实用小技巧总结

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