Maison > interface Web > js tutoriel > le corps du texte

Partagez quelques codes JS pratiques sur une seule ligne

Guanhui
Libérer: 2020-06-18 08:58:35
avant
2015 Les gens l'ont consulté

Partagez quelques codes JS pratiques sur une seule ligne

Les lignes de code simples sont extrêmement difficiles à maintenir (et parfois même difficiles à comprendre), mais cela ne les empêche pas d’être plutôt sympas. Vous vous sentirez certainement satisfait après avoir rédigé une solution minimaliste.

Voici quelques-uns de mes récents favoris. Ils fonctionnent tous directement dans votre console ouverte, essayez-le. J'espère que vous pourrez également partager votre code préféré dans les commentaires.

1. Calendar Hacker

Ali Spittel a poussé les mises à jour récentes. Cela résout un problème auquel j'ai été confronté à plusieurs reprises. Si vous remplacez le signe moins par un signe plus, cela vous donne les jours des sept prochains jours.

// 创建一个过去七天的数组,包含
[...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days));
Copier après la connexion

2. Générer des identifiants de manière aléatoire

C'est ma fonctionnalité préférée pour créer des identifiants uniques lors du prototypage. J'ai même vu des gens l'utiliser en mode production. Ce n'est pas sûr, mais... il existe des fonctions de génération aléatoire pires.

// 生成一个长度为 11 的随机字母字符串
Math.random().toString(36).substring(2);
Copier après la connexion

3. Quine

quine est un programme qui génère son propre code source. Quine m'a toujours fasciné. J'ai fait ma propre quine plusieurs fois dans différentes langues, mais ce sont les détails qui comptent.

J'ai sélectionné quelques gagnants pour vous. Ces trois-là viennent de Mama Fun Roll, PleaseStand et Peter Olson.

// $=_=>`$=${$};$()`;$()
$=_=>`$=${$};$()`;$()

// eval(I="'eval(I='+JSON.stringify(I)+')'")
eval(I="'eval(I='+JSON.stringify(I)+')'")

// For those who like their quines via alert
// (function a(){alert("("+a+")()")})()
(function a(){alert("("+a+")()")})()
Copier après la connexion

4. Obtenez les paramètres de requête

Il s'agit de code non maintenable. Cela convertit les paramètres de requête de la page en un objet de 78 octets. Merci à Alex Lohr pour l'implémentation du code (et à Qi Yi).

?foo=bar&baz=bing => {foo: bar, baz: bing}

// 设置 `q` 的值为当前页面的查询参数
q={};location.search.replace(/([^?&=]+)=([^&]*)/g,(_,k,v)=>q[k]=v);q;
Copier après la connexion

Je veux voir les minis travailler si dur.

5. Réveil de travail

Avec seulement une petite quantité de code, vous pouvez créer un réveil de travail et lire son code source en une seule fois. Après un défi avec mes collègues, j'ai écrit cet article. Il chronomètre chaque seconde et met à jour la page avec l'heure actuelle.

<body onload="setInterval(()=>document.body.innerHTML=new Date().toGMTString().slice(17,25))"></body>
Copier après la connexion

6. Disposez un tableau au hasard

Avant que les Pythonistas ne montrent les solutions import random, random.shuffle(array), nous ne pouvons que nous débrouiller seuls. Cela présente l'avantage que les chances de devenir une boucle infinie sont faibles (en fonction de votre implémentation). Michiel Hendriks Aidez-nous à sauver certains personnages

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!