JavaScript 一些不常见的技巧

1.前言

好久没有写原创文章了,最近工作不忙,写一点文章。
此篇文章意在读懂js的超能力,而不是滥用超能力

2.正文

位运算
1.使用左移运算符 << 迅速得出2的次方
1 << 2  // 2的2次方=>4
1 << 10 // 2的10次方=>1024
2. 使用 ^ 切换变量0或者1
// 第一种写法
if(val){
	val = 0
}else{
	val = 1
}
// 第二种写法
val = val ? 0 : 1
// 第三种写法
val ^= 1

3. 使用 & 判断奇偶
// 偶数 &1 = 0 
// 奇数 &1 = 1
7 & 1 // ==> 1
8 & 1 // ==> 0

4. 使用 !! 转换布尔值
console.log(!!7) // true
console.log(!!0) // false
5. 取整超能力: ~~ >> << >>> |
console.log(~~11.5) // 11
console.log(11.5 >> 0) // 11
console.log(11.5 << 0) // 11
console.log(11.5 | 0) // 11
console.log(11.5 >>> 0) // 11 注:此操作符不可对负数取整
6. 使用 ^ 完成值交换
let a = 1;
let b = 2;
[a,b] = [b,a] // es6 写法

// 使用^写法
a ^= b
b ^= a
a ^= b

7. 使用 ^ 检查数字是否不相等
let a;
if(a !== 100){ ... }
// 等价于
if(a ^ 100){ ... }
8. 取随机字符串
Math.random().toString(16).substring(2,15)
// toString(16) 取随机字符串,substring 的第二个参数控制取多少位(最多13位)
9. 使用 .link() 创建链接

这里直接贴图

10. 一些可以替代undefined的操作

依旧直接贴图

11. array.length = 0 可以清空数组
// 包括我也比较喜欢用这个  没什么原因 就是骚
const arr = [1,2,3,4,5]
arr.length --
console.log(arr) // [1,2,3,4]
arr.length = 0
console.log(arr) // []

3. 结尾

js里面可以有很多我们臆想不到的骚操作,在平常的工作中偶尔会遇到一些,带着问题再去查询往往都会耽误不少的时间,如果可以掌握,那么就可以省下一部分时间用来摸鱼。
如有文章相关问题,敬请与我联系 wx:zhi794855679

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值