一行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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值