1. Дросселирование, 2. Переключение в полноэкранный режим, 3. UUid, 4. Работа с временем, 5. Object.keys({}), 6. Преобразование в логическое значение, 7. Передача параметров с объектами

Здесь мы отобрали 7 советов по внешнему интерфейсу, которые будут знакомы с первого взгляда и очень практичны. Давайте посмотрим.

1. Регулирование

Что касается дросселирования, то большинство моих друзей должны понимать это с первого взгляда, поэтому я не буду здесь вдаваться в подробности. Давайте непосредственно посмотрим на соответствующий код:

export const throttle = (() => {
let last = 0
return (callback, wait = 800) => {
let now = +new Date()
if (now - last > wait) {
callback()
last = now
}
}
})()

2. Включить полноэкранный режим и отключить полноэкранный режим

Чтобы повысить производительность полноэкранного режима, давайте рассмотрим различные способы включения и выключения полноэкранного режима.

export const launchFullscreen = (element) => {
if (element.requestFullscreen) {
element.requestFullscreen()
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen()
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen()
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullScreen()
}
}
export const exitFullscreen = () => {
if (document.exitFullscreen) {
document.exitFullscreen()
} else if (document.msExitFullscreen) {
document.msExitFullscreen()
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen()
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen()
}
}

3. UUId

Как только вы увидите этот заголовок, многие коллеги обязательно зададут вопросы, а UUid вообще не генерируется бэкендом? Да, в этом нет никаких сомнений, давайте посмотрим:

export const uuid = () => {
const temp_url = URL.createObjectURL(new Blob())
const uuid = temp_url.toString()
URL.revokeObjectURL(temp_url)
return uuid.substring(uuid.lastIndexOf('/') + 1)
}

4. Время операции

На время эксплуатации, по моему общению с вами и собственному проектному опыту, я чувствую, что не должно быть необходимости писать много кода самому, и здесь рекомендуется использовать Day.js.
Что касается Day.js, вот краткое введение: это облегченная библиотека JavaScript для обработки времени и даты, поэтому требуется меньше JavaScript для загрузки, анализа и выполнения, поэтому оставьте больше времени для кода.

5. Объект пуст

Какую схему вы обычно используете для суждения об объекте? Вот небольшая хитрость по использованию Object.keys({}).

Object.keys({}).length // 0
Object.keys({key: 1}).length // 1

6. Преобразовать в логическое значение

Преобразование типа «!!», это так просто.

!!fine // false
!!"good"     // true
!!null      // false
!!No       // false

7. Передайте параметры с объектами

Как вы обычно передаете параметры? Как фронтенд-инженер вы должны уметь думать, что вам нужно упаковать параметры в объект, а затем передать их, иначе вы не сможете понять такого рода бесконечные и упорядоченные параметры.

function getItem(price, quantity, name, description) {}
getItem(15, undefined, 'green', 'color')
function getItem(args) {
const {price, quantity, name, description} = args
}
getItem({
name: 'green',
price: 10,
quantity: 1,
description: 'color'
})

Спасибо, что прочитали, с нетерпением жду вашего внимания, давайте вместе добьемся прогресса.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.