• js中!~什么意思


    (function () {
        var names = [];
        return function (name) {
            addName(name);
        }
        function addName(name) {
            if (!~names.indexOf(name))//如果存在则不添加
                names.push(name);
            console.log(names);// ["linkFly"]
        }
    }())('linkFly');

    原码
    原码表示法最高位为符号位,该位为0表示正数,1表示负数。其余位表示数的绝对值。
    反码
    对于一个带符号的数来说,正数的反码与其原码相同;负数的反码为其原码除符号位以外的各位按位取反。反码常用来做求补码过程中的中间形式。
    补码
    正数的补码与其原码和反码相同;负数的补码是对它的原码除符号位以外各位取反,并在末位加1而得到,即为该数的补码加1。计算机内的数一般以补码形式表示。在补码中用(-128)D代替了(-0)D,注意:(-128)D没有相对应的原码和反码,(-128)D = (1000,0000)B。
    求补运算
    求补运算不考虑符号位,对它的原码各位取反,并在末位加1而得到。对一个数进行求补运算所得的是该数相反数的补码。

    if (!~names.indexOf(name)) 中的操作符"!~" 什么意思,不理解,先从~入手。

    测试可以得出结果值有这个的规律 -(X+1)

    indexOf为0是取反不存在 !0为true添加。indexOf==-1 //to do的xx写法

  • 相关阅读:
    inndo 表与存储逻辑_1
    msyql master thread
    redo log重做日志缓冲
    redo log 重做日志
    Latex 写算法伪代码
    Just for test
    ASP.NET Web API 2 OData v4教程
    MVC系统过滤器 OutputCacheAttribute
    MVC系统过滤器、自定义过滤器
    .NET如何从配置文件中获取连接字符串
  • 原文地址:https://www.cnblogs.com/cosyer/p/7797845.html
Copyright © 2020-2023  润新知