zoukankan      html  css  js  c++  java
  • js的几个特殊的运算符略解

           js运算符的一些特殊应用及使用技巧。

    1. 是否包含指定字符: ~

    ~"str1".indexOf("str2")

    含义为:str1 被查找的字符串

    str2 查找的字符串

    如果 str1 不含有 str2 ,则返回数字 0 。

    2.取半: >>

    num >> 1

    num 整数

    例:求 50 的 1/2

    50 >> 1 //25

    有点多此一举了,不建议使用

    3.取整: |

    num | 0

    num 整数

    例:

    1.3 | 0 //1

    4.判断奇偶: &

    num & 1

    num 整数

    例:

    var num=3;
    if (num & 1) {
      console.log("num是奇数"); //num是奇数
    } else {
      console.log("num是偶数");
    }

    5.交换两个数字的值: ^=

    _使用数组:

    var num1 = 1, num2 = 2;
    num1 = [num2, num2 = num1][0];
    console.log(num1,num2); //2 1

    _使用位换算符:

    var num1 = 1, num2 = 2;
    num1 ^= num2;
    num2 ^= num1;
    num1 ^= num2;
    console.log(num1,num2); //2 1

    6. 2的n次方: << 和 **

    1 << n-1

    使用位运行符:<<

    例:2的3次方:1<<3 //8

    使用幂运行符:

    x的y次方: x**y

    例:2的3次方:2**3 //8

    方法比较:

    使用 << 的方式可以支持负数,** 需要用括号否则出错。
    使用 ** 比较直观,没研究过 << 方法的任意数的任意次方的规律。

    eg:

    -1<<3 //-8
    -2**3 // 报错
    -(2**3) //-8
    3<<2 //12 错误
    3**2 //9 正确

    等等

  • 相关阅读:
    argparse模块的使用
    tf.stack() /tf.unstack()
    什么是tensor
    tf.size()函数
    tf.nn.l2_loss()的用法
    CNN中的卷积
    tf.reverse()
    学习音视频编程技术 博客
    shell 批量计算MD5值
    线程池的实现
  • 原文地址:https://www.cnblogs.com/xy88/p/11421259.html
Copyright © 2011-2022 走看看