zoukankan      html  css  js  c++  java
  • js运算【按位非】~ (index = ~~this.userIndex)(~~ 双破折号 如果是数字返回数字,如果不是数字 返回0)

    index = ~~this.userIndex

    ~~ 双破折号 如果是数字返回数字,如果不是数字 返回0

    这个运算符有点意思:按位非【~】

    先来几个例子:

    ~undefined: -1

    ~false: -1

    ~true: -2

    ~10:-11

    找出规律了吧~~

    再说一下运用场景:

    之前判断字符串是否存在是这样写:

    1
    2
    3
    4
    5
    6
    var str = "sdfjh2kdd";
    if( str.indexOf("2")>-1 ){
      console.log("存在"
    }else{
      console.log("不存在"
    }

    现在可以这样写:

    1
    2
    3
    4
    5
    6
    7
    var str = "sdfsdfs233";
     
    if( ~str.indexOf('2') ){
     
        console.log("存在")
         
    }

    位运算的效率会比运算符高,如果不了解的也正好学习一下,免得看到【按位非~】运算符一脸懵,高级程序设计里面有一章是介绍这个的,可以回去翻一番。

  • 相关阅读:
    UnityShader
    Unity
    Tools
    linux下解压命令
    进程 同步、互斥
    I/O模型
    jclass jobject
    javah javap
    IDA 结构体
    Windows CSRSS API List (NT/2000/XP/2003/Vista/2008/7/2012/8)
  • 原文地址:https://www.cnblogs.com/pengchenggang/p/11121635.html
Copyright © 2011-2022 走看看