一行JS能做的事情
获取一个随机布尔值
使用Math.random()
方法返回一个布尔值(true或false)。根据它是否高于0.5来获取布尔值
const getBoolean = () => Math.random() >= 0.5;
console.log(getBoolean);
// true || false
检验日期是否为工作日
const isWeekday = (data) => data.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021,0,11)));
// true(Monday)
console.log(isWeekday(new Date(2021,0,10)));
// false(Sunday)
反转字符串
const reverse = () => str.split('').reverse().join('');
reverse('ABCDEFG');
// result: GFEDCBA
检查当前TAB页是否在前台
通过使用document.hidden
来检查当前标签页是否在前台
const isBrowserTabInView = () => document.hidden;
isBrowserTabInView ();
检查数字是否为奇数
除了以下的方法,还可以使用模数运算符(%)来解决
const isEven = num => num % 2 === 0;
isEven(2);
// true
isEven(3);
// false
保留小数点(非四舍五入)
使用Math.pow()
方法,可以将一个数值截断到某个小数点
const toFixed = (n,fixed) => ~~(Math.pow(10,fixed) * n) / Math.pow(10,fixed)
toFixed(1.23456789,1); // 1.2
toFixed(1.23456789,2); // 1.23
toFixed(1.23456789,3); // 1.234
toFixed(1.23456789,4); // 1.2345
toFixed(1.23456789,5); // 1.23456
toFixed(1.23456789,6); // 1.234567
// ~是按位取反的意思,计算机里面处理二进制数据时候的非
// ~~就是再转回来,利用两个按位取反的符号,进行类型的转换,转换成数字符号。
检查元素当前是否为聚焦状态
使用document.activeElement
属性检查一个元素当前是否处于聚焦状态。
const elementIsInFocus = (el) => (el === document.activeElement);
elementIsInFocus(anyElement);
// document.activeElement会返回处于聚焦的元素
检查浏览器是否支持触摸事件
const touchSupported = () => {
( ontouchstart in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
判断是否移动设备打开网页
return navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i);
//判断是否移动端设备打开页面
滚动到页面顶部
window.scrollTo()
方法会取一个 x 和 y 坐标来进行滚动。如果我们将这些坐标设置为零,就可以滚动到页面的顶部。
IE 不支持 scrollTo() 方法。
const goToTop = () => window.scrollTo(0, 0);
goToTop();
参考文章:https://mp.weixin.qq.com/s/M0qZrgA-cbdQjCqR3LWCcg