首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >13个JavaScript单行代码,让你看起来更专业

13个JavaScript单行代码,让你看起来更专业

作者头像
@超人
发布于 2021-02-26 16:23:50
发布于 2021-02-26 16:23:50
9930
举报
文章被收录于专栏:Vue中文社区Vue中文社区

英文 | https://medium.com/dailyjs/13-javascript-one-liners-thatll-make-you-look-like-a-pro-29a27b6f51cb

翻译 | web前端开发公众号(ID:web_qdkf)

JavaScript可以做很多令人惊奇的事情!

从复杂的框架到处理API,都需要学习很多东西。

但是,它也可以让你仅用一行代码就可以完成一些很棒的工作。

学习这13个JavaScript单行式代码,让你看起来更像专业人士!

1、随机获取布尔值(true/false)

此函数将使用Math.random()方法返回布尔值(真或假)。Math.random将创建一个介于0和1之间的随机数,然后我们检查它是否大于或小于0.5。这意味着你有各50%的机会得到真或假值。

代码语言:javascript
复制
const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());
// Result: a 50/50 change on returning true of false

2、判断给的日期是否为工作日

使用此方法,你将可以判断函数中提供的日期是工作日还是双休日。

代码语言:javascript
复制
const isWeekday = (date) => date.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021, 0, 11)));
// Result: true (Monday)
console.log(isWeekday(new Date(2021, 0, 10)));
// Result: false (Sunday)

3、反转字符串

用不同的方式可以反转字符串。可以使用最简单的split(),reverse()和join()方法。

代码语言:javascript
复制
const reverse = str => str.split('').reverse().join('');
reverse('hello world');     
// Result: 'dlrow olleh'

4、判断当前选项卡是否在视图/焦点中

我们可以使用document.hidden属性检查当前标签页是否在视图/焦点中。

代码语言:javascript
复制
const isBrowserTabInView = () => document.hidden;
isBrowserTabInView();
// Result: returns true or false depending on if tab is in view / focus

5、判断数字是偶数还是奇数

可以使用模运算符(%)解决的超简单任务。如果你不太熟悉它,这是有关Stack Overflow的直观说明(地址:https://stackoverflow.com/questions/17524673/understanding-the-modulus-operator/17525046#17525046)

代码语言:javascript
复制
const isEven = num => num % 2 === 0;
console.log(isEven(2));
// Result: true
console.log(isEven(3));
// Result: false

6、从日期获取时间

通过使用toTimeString()方法并将字符串切片用在正确的位置,我们可以从提供的日期中获取时间,也可以获取当前时间。

代码语言:javascript
复制
const timeFromDate = date => date.toTimeString().slice(0, 8);
console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0))); 
// Result: "17:30:00"
console.log(timeFromDate(new Date()));
// Result: will log the current time

7、将数字四舍五入到固定的小数点

使用该Math.pow()方法,我们可以将数字四舍五入到函数中提供的某个小数点。

代码语言:javascript
复制
const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
// Examples
toFixed(25.198726354, 1);       // 25.1
toFixed(25.198726354, 2);       // 25.19
toFixed(25.198726354, 3);       // 25.198
toFixed(25.198726354, 4);       // 25.1987
toFixed(25.198726354, 5);       // 25.19872
toFixed(25.198726354, 6);       // 25.198726

8、检查元素当前是否处于焦点

我们可以使用document.activeElement属性检查元素当前是否处于焦点。

代码语言:javascript
复制
const elementIsInFocus = (el) => (el === document.activeElement);
elementIsInFocus(anyElement)
// Result: will return true if in focus, false if not in focus

9、检查当前用户是否支持触摸事件

代码语言:javascript
复制
const touchSupported = () => {
  ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
// Result: will return true if touch events are supported, false if not

10、检查当前用户是否在Apple设备上

我们可以navigator.platform用来检查当前用户是否在Apple设备上。

代码语言:javascript
复制
const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);
// Result: will return true if user is on an Apple device

11、滚动到页面顶部

window.scrollTo()方法将使用x和y坐标滚动到。如果将它们设置为零和零,则将滚动到页面顶部。

注意:Internet Explorer不支持该.scrollTo()方法。

代码语言:javascript
复制
const goToTop = () => window.scrollTo(0, 0);
goToTop();
// Result: will scroll the browser to the top of the page

12、获取参数的平均值

我们可以使用reduce方法获取在此函数中提供的参数的平均值。

代码语言:javascript
复制
const average = (...args) => args.reduce((a, b) => a + b) / args.length;
average(1, 2, 3, 4);
// Result: 2.5

13、转换华氏/摄氏

最后一个是2合1!

应对温度有时会造成混乱。这两个功能将帮助你将华氏温度转换为摄氏温度,反之亦然。

代码语言:javascript
复制
const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;
// Examples
celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(0);     // 32
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0

谢谢阅读!希望你今天学到了一些新知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1、随机获取布尔值(true/false)
  • 2、判断给的日期是否为工作日
  • 3、反转字符串
  • 4、判断当前选项卡是否在视图/焦点中
  • 5、判断数字是偶数还是奇数
  • 6、从日期获取时间
  • 7、将数字四舍五入到固定的小数点
  • 8、检查元素当前是否处于焦点
  • 9、检查当前用户是否支持触摸事件
  • 10、检查当前用户是否在Apple设备上
  • 11、滚动到页面顶部
  • 12、获取参数的平均值
  • 13、转换华氏/摄氏
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档