(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写法

最新文章

  1. Android Studio 如何切换sdk
  2. Java设计模式之责任链设计模式
  3. UVaLive 7360 Run Step (排列组合,枚举)
  4. Ninject的项目情况
  5. Ant + Jenkies +Tomcat 自动构建部署Web项目
  6. ADO.NET中的DataSet和DataReader
  7. 【Qt编程】设计ColorBar颜色栏
  8. 『集群』006 Slithice 后期改进 和 Slithice可能存在的BUG
  9. EasyPR源码剖析(6):车牌判断之LBP特征
  10. 关于Vue中的 render: h => h(App) 具体是什么含义?
  11. 【微软版本】redis 安装启动及设置密码<windows>
  12. 如何恢复windows的exe文件的默认打开方式
  13. 对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(2)
  14. Noip前的大抱佛脚----文章索引
  15. hibernate的枚举注解@Enumerated
  16. 寻路DEMO
  17. AI 的下一个重大挑战:理解语言的细微差别
  18. Vue项目开发目录结构
  19. python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
  20. 汇编试验十五:安装新的int 9中断例程

热门文章

  1. 【bzoj1174】[Balkan2007]Toponyms Trie树
  2. 刷题总结——蚯蚓(NOIP2016DAY2T2)
  3. App后台运行通知函数
  4. git(二):一些简单入门命令
  5. python多线程(四)
  6. python多线程(二)
  7. 2018.11.7 PION 模拟赛
  8. 【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
  9. MySQL 索引及其用法
  10. HDU - 4630 No Pain No Game (线段树 + 离线处理)