js中的小技巧
~~
- 用于数字取整
- undefined null NaN 都会变成 0
console.log(~~(11.11));
&
- 判断奇偶
- undefined null NaN “” 都会变成 0
console.log(7 & 1);
console.log(8 & 1) ;
!!
- 转换布尔值
- undefined null NaN 0 ""都会变成 false
- [] {} 会变成 true
console.log(!!7);
console.log(!![]);
console.log(!!{});
console.log(!!null);
console.log(!!undefined);
>>
- 左位移一等于乘二
- 右位移一等于除二
- undefined null NaN “” 都会变成 0
console.log(16 >> 1);
console.log(16 << 1);
清空数组
let arr = [1];
arr.length = 0;
console.log(arr);
生成随机数
0 | Math.random() * 100
new Date % 100
new Date % 1000
生成随机字符串
Math.random().toString(16).substring(2, 15);
创建链接
console.log("Google".link("www.google.com"));
快速判断IE8以下的浏览器
var isIE8 = !+"1";
console.log(isIE8);
正确处理异常的方法
try {
} catch (e) {
window.location.href = "http://stackoverflow.com/search?q=[js]+" + e.message;
}
参考
- https://zhuanlan.zhihu.com/p/150556186
- https://zhuanlan.zhihu.com/p/262533240