开发过程中,我们经常会用运算符: + - == != && || 等等,但今天翻看项目源码的时候发现了一个奇特的写法 : ~~

因为比较少见,所以在此记录一下:

其实就是将后面的变量转化为数字类型,但只能判断可等价转换的类型。例如:

console.log(~~true)            // 结果为1

console.log(~~false)          // 结果为0

console.log(~~null)            // 结果为0

console.log(~~!null)           // 结果为1

console.log(~~0)               // 结果为0

console.log(~~1)               // 结果为1

console.log(~~123456)     // 结果为123456

// 注意 只能转为数字类型 以下写法输出是0

console.log(~~"")                              // 结果为0

console.log(~~"我不是空字符串")     // 结果为0

console.log(~~[])                               //结果为0

console.log(~~[1,2,3])                       //结果为0

console.log(~~{})                               //结果为0

console.log(~~{a:1,b:2})                    //结果为0

js运算符 ~~ 是什么意思?相关推荐

  1. js运算符单竖杠“|”的用法和作用及js数据处理

    js运算符单竖杠"|"的作用 很多朋友都对双竖杠"||",了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用 ...

  2. JavaScript深入【表达式和运算符(上集)】你能过我8关js运算符的题目吗?

    博主留言 (茗洋芳竹) 每一个高手成功之路,都要学会怎样与孤独打交道 .我是个傻孩子,孤独竟然是我的夫人,每天晚上都会坐在我旁边看我学习,写博客.马上要离开ASP.NET生涯,投奔PHP了,一切都是那 ...

  3. 前端:JS/18/JS运算符(算术运算符,赋值运算符,字符串运算符,比较运算符,逻辑运算符,三元运算符),window.prompt()

    JS运算符 要进行各种各样的运算,就要使用不同的运算符号. 1,算术运算符:+ - * / % ++ -- + :加法运算符 - :减法运算符 * :乘法运算符 / :除法运算符 % :取余运算符,返 ...

  4. JavaScript学习笔记:JS运算符重载

    1.定义   在了解运算符重载之前,先了解一下重载.重载是指可使函数.运算符等处理不同类型数据或者接受不同个数参数的一种方法.   函数重载是指函数名相同,函数参数个数或者参数类型不同,以至于返回类型 ...

  5. 4.js运算符,js三目运算符

    js运算符 单目运算符:自增自减 自增 ++ 变量的值每次加1,再赋给变量; 自减 – 变量的值每次减1,再赋值给变量; 双目运算符: + 加 - 减 * 乘 / 除 % 求余 = 赋值 += 加等 ...

  6. 前端面试题 - JS 运算符优先级

    建议先看一下运算符分类,可以参考这篇文章:js运算符与优先级,基本上把所有的运算符以及分类都总结了出来. 借用文章的一个表格,该表格包含了所有的运算符,优先级自上而下逐渐降低,同一行优先级相同: 我们 ...

  7. js运算符单竖杠“|”的用法

    js运算符单竖杠"|"的作用 很多朋友都对双竖杠"||",了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用 ...

  8. JS运算符详解与优先级

    JS运算符详解与优先级 算术运算符 赋值运算符 一元运算符 比较运算符 逻辑运算符 运算符优先级 算术运算符 + 求和 - 求差 * 求积 / 求商 % 求余 取模 乘除取余优先级相同,加减优先级相同 ...

  9. js 运算符 || 妙用

    首先出个题: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭头: 成长速度为12显示3个箭头: 成长速度为15显示4个箭头: 其他都显示都显示0各箭头. 用代码怎么 ...

  10. js ...运算符_「 giao-js 」用js写一个js解释器

    前言 在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的! 什么是解释器 (Int ...

最新文章

  1. 碰撞检测碰撞Java简单游戏开发之碰撞检测
  2. 管理Exchange服务器
  3. 【转】SAP Cloud Platform平台下,ABAP人员的出路在哪里
  4. 剑指offer-week1
  5. 利用WindowsPhone7_SDK_Full.rar_for_xp,在xp下安装sdk,部署xap软件的教程
  6. 【机器学习】SVM线性可分
  7. Kubernetes 凭什么成了云原生应用底座?
  8. 【C语言】《程序设计基础(C语言)》自编题解索引
  9. BlueCatTools-域名批量查询软件介绍
  10. 上传文件块client实现
  11. HTML、CSS --chrome书签整理
  12. 大学python挂科补考_大一就挂科了,怎么办。感觉没了信心?
  13. groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration...
  14. 在Windows下的路径分隔符和Linux下的路径分隔符是不一样的
  15. 扶贫计算机考试试题,计算机基础知识试题1.doc
  16. linux服务器上的cad病毒,LibreCAD_LibreCAD下载[2021官方最新版]LibreCAD安全下载_ 极速下载...
  17. 入门机器学习需要会哪些编程语言?
  18. MyBatis12-分页插件
  19. 那些年,我们一起吃得泡面……
  20. qq飞车前瞻版服务器维护,QQ飞车手游前瞻版

热门文章

  1. U盘移动硬盘想写入缓存策略怎么办
  2. 基于微信订水送水商城小程序系统设计与实现 开题报告
  3. 产品经理要不要做售前工作?
  4. python tkinter做的生成计算题的GUI
  5. 浙江省计算机等级考试c语言,浙江省高校计算机等级考试二级(C语言.doc
  6. ilitek win10 触摸屏驱动_想做多大红外触摸框找融创方圆定制触摸屏工厂
  7. WLAN标准组织介绍
  8. Skype Translator实时语音翻译技术原理
  9. svg矢量图制作工具(Sketsa SVG Editor) v7.1.1 中文免费版
  10. kubenetes 1.16.0安装kubernetes-dashboard v2.0.0-beta4