17
Author: Shadeed
Translator: Frontend Xiaozhi
Source: medium

There are dreams and dry goods. search 16125c04aa133f [Moving to the World] Follow this brushing wisdom who is still doing dishes in the early morning.

This article GitHub https://github.com/qq449245884/xiaozhi has been included, the first-line interview complete test site, information and my series of articles.

JavaScript can do a lot of fun things, from complex frameworks to processing APIs, there are too many things to learn. However, it also allows us to do amazing things with just one line.

1. Get a random Boolean value ( true / false )

This function uses the Math.random() method to return a boolean value ( true or false ). Math.random creates a 0 and 1 , we only need to check whether it is higher or lower than 0.5 , there is a 50% chance of getting true or false .

const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());

2. Check if the provided date is a working day

Using this method, we can check whether the date provided in the function is a weekday or a weekend day.

const isWeekday = (date) => date.getDay() % 6 !== 0;

console.log(isWeekday(new Date(2021, 7, 6)));
// true  因为是周五

console.log(isWeekday(new Date(2021, 7, 7)));
// false 因为是周六

3. Reverse the string

There are several different ways to reverse a string. This is the simplest one, using the split() , reverse() and join() methods.

const reverse = str => str.split('').reverse().join('');
reverse('hello world');     
// 'dlrow olleh'

4. Check if the current label is hidden

Document.hidden (read-only attribute) returns a boolean value, indicating that the page is true ) or not ( false ).

const isBrowserTabInView = () => document.hidden;
isBrowserTabInView();

document.hidden ad play time is when the current tab is activated. When you leave the current tab, the countdown stops. Baidu finds the stuff 06125c04aa15e6.

document.hidden is h5 newly added api use when there are compatibility issues.

var hidden
if (typeof document.hidden !== "undefined") {
    hidden = "hidden";
} else if (typeof document.mozHidden !== "undefined") {
    hidden = "mozHidden";
} else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
} else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
}
console.log("当前页面是否被隐藏:" + document[hidden])

5. Check if a number is even or odd

const isEven = num => num % 2 === 0;
console.log(isEven(2));
// true
console.log(isEven(3));
// false

6. Get the time from a date

const timeFromDate = date => date.toTimeString().slice(0, 8);

console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0))); 
// "17:30:00"

console.log(timeFromDate(new Date()));
// 打印当前的时间

7. Keep n decimal places

const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
// 事例
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. Check if any element is currently in focus

We can use the document.activeElement attribute to check whether an element is currently in focus.

const elementIsInFocus = (el) => (el === document.activeElement);
elementIsInFocus(anyElement)
// 如果在焦点中返回true,如果不在焦点中返回 false

9. Check whether the current browser supports touch events

const touchSupported = () => {
  ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
// 如果支持触摸事件,将返回true,如果不支持则返回false。

10. Check if the current browser is on the Apple device

const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);

11. Scroll to the top of the page

const goToTop = () => window.scrollTo(0, 0);
goToTop();

12. Get the average value of the parameter

const average = (...args) => args.reduce((a, b) => a + b) / args.length;
average(1, 2, 3, 4);
// 2.5

13. Fahrenheit/Celsius conversion

const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;
// 事例
celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(0);     // 32
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0

~End, I’m Shuwanzhi, massage in the clubhouse!


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

comminicate

There are dreams and dry goods. WeChat search [Moving to the World] attention to this wise brush who is still doing dishes in the early morning.

This article GitHub https://github.com/qq449245884/xiaozhi has been included, the first-line factory interview complete test sites, materials and my series of articles.


王大冶
68.2k 声望105k 粉丝