js运算符 ~~ 是什么意思?
开发过程中,我们经常会用运算符: + - == != && || 等等,但今天翻看项目源码的时候发现了一个奇特的写法 : ~~
因为比较少见,所以在此记录一下:
其实就是将后面的变量转化为数字类型,但只能判断可等价转换的类型。例如:
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运算符 ~~ 是什么意思?相关推荐
- js运算符单竖杠“|”的用法和作用及js数据处理
js运算符单竖杠"|"的作用 很多朋友都对双竖杠"||",了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用 ...
- JavaScript深入【表达式和运算符(上集)】你能过我8关js运算符的题目吗?
博主留言 (茗洋芳竹) 每一个高手成功之路,都要学会怎样与孤独打交道 .我是个傻孩子,孤独竟然是我的夫人,每天晚上都会坐在我旁边看我学习,写博客.马上要离开ASP.NET生涯,投奔PHP了,一切都是那 ...
- 前端:JS/18/JS运算符(算术运算符,赋值运算符,字符串运算符,比较运算符,逻辑运算符,三元运算符),window.prompt()
JS运算符 要进行各种各样的运算,就要使用不同的运算符号. 1,算术运算符:+ - * / % ++ -- + :加法运算符 - :减法运算符 * :乘法运算符 / :除法运算符 % :取余运算符,返 ...
- JavaScript学习笔记:JS运算符重载
1.定义 在了解运算符重载之前,先了解一下重载.重载是指可使函数.运算符等处理不同类型数据或者接受不同个数参数的一种方法. 函数重载是指函数名相同,函数参数个数或者参数类型不同,以至于返回类型 ...
- 4.js运算符,js三目运算符
js运算符 单目运算符:自增自减 自增 ++ 变量的值每次加1,再赋给变量; 自减 – 变量的值每次减1,再赋值给变量; 双目运算符: + 加 - 减 * 乘 / 除 % 求余 = 赋值 += 加等 ...
- 前端面试题 - JS 运算符优先级
建议先看一下运算符分类,可以参考这篇文章:js运算符与优先级,基本上把所有的运算符以及分类都总结了出来. 借用文章的一个表格,该表格包含了所有的运算符,优先级自上而下逐渐降低,同一行优先级相同: 我们 ...
- js运算符单竖杠“|”的用法
js运算符单竖杠"|"的作用 很多朋友都对双竖杠"||",了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用 ...
- JS运算符详解与优先级
JS运算符详解与优先级 算术运算符 赋值运算符 一元运算符 比较运算符 逻辑运算符 运算符优先级 算术运算符 + 求和 - 求差 * 求积 / 求商 % 求余 取模 乘除取余优先级相同,加减优先级相同 ...
- js 运算符 || 妙用
首先出个题: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭头: 成长速度为12显示3个箭头: 成长速度为15显示4个箭头: 其他都显示都显示0各箭头. 用代码怎么 ...
- js ...运算符_「 giao-js 」用js写一个js解释器
前言 在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的! 什么是解释器 (Int ...
最新文章
- 碰撞检测碰撞Java简单游戏开发之碰撞检测
- 管理Exchange服务器
- 【转】SAP Cloud Platform平台下,ABAP人员的出路在哪里
- 剑指offer-week1
- 利用WindowsPhone7_SDK_Full.rar_for_xp,在xp下安装sdk,部署xap软件的教程
- 【机器学习】SVM线性可分
- Kubernetes 凭什么成了云原生应用底座?
- 【C语言】《程序设计基础(C语言)》自编题解索引
- BlueCatTools-域名批量查询软件介绍
- 上传文件块client实现
- HTML、CSS --chrome书签整理
- 大学python挂科补考_大一就挂科了,怎么办。感觉没了信心?
- groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration...
- 在Windows下的路径分隔符和Linux下的路径分隔符是不一样的
- 扶贫计算机考试试题,计算机基础知识试题1.doc
- linux服务器上的cad病毒,LibreCAD_LibreCAD下载[2021官方最新版]LibreCAD安全下载_
极速下载...
- 入门机器学习需要会哪些编程语言?
- MyBatis12-分页插件
- 那些年,我们一起吃得泡面……
- qq飞车前瞻版服务器维护,QQ飞车手游前瞻版
热门文章
- U盘移动硬盘想写入缓存策略怎么办
- 基于微信订水送水商城小程序系统设计与实现 开题报告
- 产品经理要不要做售前工作?
- python tkinter做的生成计算题的GUI
- 浙江省计算机等级考试c语言,浙江省高校计算机等级考试二级(C语言.doc
- ilitek win10 触摸屏驱动_想做多大红外触摸框找融创方圆定制触摸屏工厂
- WLAN标准组织介绍
- Skype Translator实时语音翻译技术原理
- svg矢量图制作工具(Sketsa SVG Editor) v7.1.1 中文免费版
- kubenetes 1.16.0安装kubernetes-dashboard v2.0.0-beta4