js运算【按位非】~ (index = ~~this.userIndex)(~~ 双破折号 如果是数字返回数字,如果不是数字 返回0)
2024-10-20 00:40:52
index = ~~this.userIndex
~~ 双破折号 如果是数字返回数字,如果不是数字 返回0
这个运算符有点意思:按位非【~】
先来几个例子:
~undefined: -1
~false: -1
~true: -2
~10:-11
找出规律了吧~~
再说一下运用场景:
之前判断字符串是否存在是这样写:
1
2
3
4
5
6
|
var str = "sdfjh2kdd" ; if ( str.indexOf( "2" )>-1 ){ console.log( "存在" ) } else { console.log( "不存在" ) } |
现在可以这样写:
1
2
3
4
5
6
7
|
var str = "sdfsdfs233" ; if ( ~str.indexOf( '2' ) ){ console.log( "存在" ) } |
位运算的效率会比运算符高,如果不了解的也正好学习一下,免得看到【按位非~】运算符一脸懵,高级程序设计里面有一章是介绍这个的,可以回去翻一番。
最新文章
- action和servlet的关系
- ansible代码分析第一篇--主文件—ansible分析
- Unity 插件制作笔记(持续更新)
- Unity学习疑问记录之新GUI
- 【Android测试】【随笔】获得App的包名和启动页Activity
- React Native 简介:用 JavaScript 搭建 iOS 应用(2)
- 【Codeforces Round#279 Div.2】B. Queue
- 关于activiti流程通过、驳回、会签、转办、中止、挂起等核心操作功能的封装
- sqlserver 2000新建sysadmin角色
- BestCoder Round #75 1003 - King's Order
- 国外代理server
- Xcode8中添加SnapKit框架报错,编译失败
- Python教程(2.6)——list和tuple简介
- vue分页组件二次封装---每页请求特定数据
- CH2401 送礼物(算竞进阶习题)
- python 5
- YOLO(5) YOLO2 代码讲解
- Swoole 进程管理
- 004_on-my-zsh漂亮的shell
- Linux下mysql的远程连接(转)