Table des matières
Booléen
Nombre
IIFE
Closure
Événement
parseInt
Hex
«
BTW
Autres
Maison interface Web js tutoriel Explication graphique et textuelle détaillée du superbe guide de JavaScript

Explication graphique et textuelle détaillée du superbe guide de JavaScript

Mar 08, 2017 pm 02:23 PM

Cet article adhère au concept de

Si vous ne comprenez pas c'est vous sb, le code que j'écris doit être génial

Quelques compétences js prétentieuses.

Pour les techniques suivantes, les trois dernières, merci de les utiliser avec prudence dans les projets d'équipe (compte tenu principalement des problèmes de lisibilité), sinon, le leader vous le fera sans aucune négociation.

Booléen

Cette technique est beaucoup utilisée et est très simple

!!'foo'
Copier après la connexion

En annulant deux, vous pouvez forcer la conversion. est de type booléen. Plus couramment utilisé.

Nombre

Ceci est également très simple. Convertir une chaîne en nombre

+'45'
+new Date
Copier après la connexion

sera automatiquement converti en type de nombre. Plus couramment utilisé.

IIFE

C'est en fait très pratique et n'est pas considéré comme prétentieux. C'est juste qu'il n'y a rien de tel dans d'autres langages. C'est plutôt génial pour les étudiants qui ne connaissent pas grand chose en js.

(function(arg) {
    // do something
})(arg)
Copier après la connexion

La valeur pratique réside dans la prévention de la pollution mondiale. Mais maintenant, avec la popularité de l'ES2015, il n'est plus nécessaire de l'utiliser. Je pense que dans cinq ans, cette façon d'écrire diminuera progressivement.

Pour bosser depuis cinq ans, c'est plutôt bien de s'exhiber devant les stagiaires~

Closure

Closure Bon, js c'est particulièrement sympa d'un lieu. La fonction d'exécution immédiate ci-dessus est une application de clôture.

Si vous ne comprenez pas, revenez en arrière et lisez le livre. Il y a aussi de nombreuses discussions sur Zhihu, vous pouvez donc le consulter.

L'utilisation de fermetures est simplement un signe de maîtrise pour les débutants (ce n'est pas le cas).

var counter = function() {
    var count = 0
    return function() {
        return count++
    }
}
Copier après la connexion

Les fermetures sont utilisées ci-dessus, ce qui a l'air plutôt cool. Mais cela semble n’avoir aucune valeur pratique.

Et ça ?

var isType = function(type) {
    return function(obj) {
        return toString.call(obj) == '[Object ' + type + ']';
    }
}
Copier après la connexion

Il est facile de déterminer la catégorie grâce à des fonctions d'ordre élevé. (N'oubliez pas Array.isArray() pour déterminer Array)

Bien sûr, il est évident que ce ne sont que les bases et ne peuvent pas être plus prétentieux. Regardons la section suivante

Événement

Le front-end de réponse à l'événement doit être mal écrit De manière générale, comment écrire un compteur ?

var times = 0
var foo = document.querySelector('.foo')
foo.addEventListener('click', function() {
    times++
    console.log(times)
}, false)
Copier après la connexion

Il ne semble y avoir aucun problème, mais ! Pourquoi la variable times est-elle placée à l'extérieur ? Elle est utilisée une seule fois et placée à l'extérieur. Que dois-je faire en cas de conflit de nom, ou que dois-je faire si elle est modifiée à l'extérieur ?

À l'heure actuelle, un tel code de surveillance des événements est plus puissant

foo.addEventListener('click', (function() {
    var times = 0
    return function() {
        times++
        console.log(times)
    }
})(), false)
Copier après la connexion

Et si, vous sentez-vous immédiatement différent ? Il est instantanément devenu plus puissant !

crée une fermeture, y encapsule times, puis renvoie la fonction. Cet usage est moins courant.

parseInt

Avertissement de haute énergie

À partir de maintenant, le code suivant doit être soigneusement écrit dans le code de l'entreprise !

parseIntCette fonction est trop ordinaire, comment pouvez-vous prétendre être génial. La réponse est ~~

Maintenant appuyez sur F12 et copiez et collez ce code dans la console :

~~3.14159
// => 3
~~5.678
// => 5
Copier après la connexion

Cette technique est très cool Le principe est que ~ est. un code appelé opérations Bitwise NOT renvoie le complément d'une valeur. C'est une opération binaire.

La raison est que les nombres en JavaScript sont tous de types doubles et qu'ils doivent être convertis en int lors des opérations sur les bits. S'ils sont utilisés deux fois~, ce sont toujours les nombres d'origine.

Hex

Opérations hexagonales. En fait, c'est une utilisation de Array.prototype.toString(16)

Quand je vois ce mot, ce qui me vient à l'esprit doit être la couleur du CSS.

Pour obtenir le caractère aléatoire, vous pouvez le faire

(~~(Math.random()*(1<<24))).toString(16)
Copier après la connexion

Il est fortement recommandé de lire le lien du texte original ci-dessous. Les trois dernières techniques y ont toutes été apprises.

«

Opération de décalage à gauche. Cette opération est particulièrement délicate. De manière générale, si vous jouez beaucoup au C, vous en connaîtrez un peu plus sur cette opération. De manière générale, les codeurs front-end devenus moines peuvent ne pas très bien le comprendre (c'est moi ☹).

C'est aussi une opération binaire. Décalez le binaire numérique vers la gauche

pour expliquer le fonctionnement de 1<<24 ci-dessus.

est en fait 1 décalé à gauche de 24 bits. 000000000000000000000001 s'est décalé de 24 bits vers la gauche et est devenu 1000000000000000000000000

Vous n'y croyez pas ?

Essayez de coller le code suivant dans la console

parseInt(&#39;1000000000000000000000000&#39;, 2) === (1 << 24)
Copier après la connexion

En fait, il existe une manière plus compréhensible d'expliquer

Math.pow(2,24) === (1 << 24)
Copier après la connexion

Parce que c'est une opération binaire , c'est plus rapide C'est très rapide.

BTW

[].forEach.call($$("*"),function(a){
    a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
})
Copier après la connexion

La traduction en langage normal est comme ça

Array.prototype.forEach.call(document.querySelectorAll(&#39;*&#39;), 
dom => dom.style.outline = `1px solid #${parseInt(Math.random() * Math.pow(2,24)).toString(16)}`)
Copier après la connexion

Autres

D'autres, comme certains attendent, Décorateurs et ainsi de suite . Je ne présenterai pas des choses que vous pouvez essentiellement comprendre en utilisant TypeScript.


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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide pour désactiver VBS dans Windows 11 Guide pour désactiver VBS dans Windows 11 Mar 08, 2024 pm 01:03 PM

Avec le lancement de Windows 11, Microsoft a introduit de nouvelles fonctionnalités et mises à jour, notamment une fonctionnalité de sécurité appelée VBS (Virtualization-based Security). VBS utilise la technologie de virtualisation pour protéger le système d'exploitation et les données sensibles, améliorant ainsi la sécurité du système. Cependant, pour certains utilisateurs, VBS n'est pas une fonctionnalité nécessaire et peut même affecter les performances du système. Par conséquent, cet article explique comment désactiver VBS dans Windows 11 pour vous aider.

Configurer le chinois avec VSCode : le guide complet Configurer le chinois avec VSCode : le guide complet Mar 25, 2024 am 11:18 AM

Configuration de VSCode en chinois : un guide complet Dans le développement de logiciels, Visual Studio Code (VSCode en abrégé) est un environnement de développement intégré couramment utilisé. Pour les développeurs qui utilisent le chinois, la configuration de VSCode sur l'interface chinoise peut améliorer l'efficacité du travail. Cet article vous fournira un guide complet, détaillant comment définir VSCode sur une interface chinoise et fournissant des exemples de code spécifiques. Étape 1 : Téléchargez et installez le pack de langue. Après avoir ouvert VSCode, cliquez sur la gauche.

Installez Deepin Linux sur tablette : Installez Deepin Linux sur tablette : Feb 13, 2024 pm 11:18 PM

Avec le développement continu de la technologie, les systèmes d'exploitation Linux ont été largement utilisés dans divers domaines. L'installation du système Deepin Linux sur les tablettes nous permet de découvrir plus facilement le charme de Linux. Discutons de l'installation de Deepin Linux sur les tablettes. Travail de préparation Avant d'installer Deepin Linux sur la tablette, nous devons effectuer quelques préparatifs. Nous devons sauvegarder les données importantes dans la tablette pour éviter la perte de données pendant le processus d'installation. Nous devons télécharger le fichier image de Deepin Linux et l'écrire. sur une clé USB ou une carte SD pour une utilisation pendant le processus d'installation. Ensuite, nous pouvons démarrer le processus d'installation. Nous devons configurer la tablette pour qu'elle démarre à partir du disque U ou SD.

Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Explication détaillée des méthodes de référence jQuery : guide de démarrage rapide Feb 27, 2024 pm 06:45 PM

Explication détaillée de la méthode de référence jQuery : Guide de démarrage rapide jQuery est une bibliothèque JavaScript populaire largement utilisée dans le développement de sites Web. Elle simplifie la programmation JavaScript et fournit aux développeurs des fonctions et fonctionnalités riches. Cet article présentera en détail la méthode de référence de jQuery et fournira des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement. Présentation de jQuery Tout d'abord, nous devons introduire la bibliothèque jQuery dans le fichier HTML. Il peut être introduit via un lien CDN ou téléchargé

Guide d'utilisation de Conda : mettre à niveau facilement la version de Python Guide d'utilisation de Conda : mettre à niveau facilement la version de Python Feb 22, 2024 pm 01:00 PM

Guide d'utilisation de Conda : mettez facilement à niveau la version Python, des exemples de code spécifiques sont requis Introduction : Au cours du processus de développement de Python, nous devons souvent mettre à niveau la version Python pour obtenir de nouvelles fonctionnalités ou corriger des bugs connus. Cependant, la mise à niveau manuelle de la version Python peut être gênante, surtout lorsque nos projets et packages dépendants sont relativement complexes. Heureusement, Conda, en tant qu'excellent gestionnaire de packages et outil de gestion de l'environnement, peut nous aider à mettre facilement à niveau la version Python. Cet article explique comment utiliser

Guide de configuration du répertoire d'installation PHP7 Guide de configuration du répertoire d'installation PHP7 Mar 11, 2024 pm 12:18 PM

Guide de configuration du répertoire d'installation PHP7 PHP est un langage de script côté serveur populaire utilisé pour développer des pages Web dynamiques. Actuellement, la dernière version de PHP est PHP7, qui introduit de nombreuses nouvelles fonctionnalités et optimisations de performances et constitue la version préférée de nombreux sites Web et applications. Lors de l'installation de PHP7, il est très important de configurer correctement le répertoire d'installation. Cet article vous fournira un guide détaillé pour configurer le répertoire d'installation de PHP7, avec des exemples de code spécifiques. Pour télécharger PHP7, vous devez d’abord le télécharger depuis le site officiel de PHP (https://www.

Guide d'utilisation de Linux ldconfig Guide d'utilisation de Linux ldconfig Mar 14, 2024 pm 12:36 PM

Titre : Guide d'utilisation de Linuxldconfig Dans les systèmes Linux, la commande ldconfig est un outil très important pour mettre à jour les fichiers de liens connectés aux bibliothèques partagées dans les programmes exécutables lorsque l'éditeur de liens dynamique est en cours d'exécution. Une utilisation correcte de ldconfig peut garantir que le système peut trouver et charger correctement les fichiers de bibliothèque partagés correspondants, garantissant ainsi le fonctionnement normal du programme. Cet article présentera l'utilisation de base de ldconfig et fournira quelques exemples de code spécifiques. 1. Introduction à ldconfig ldcon

Explication détaillée de l'installation de la bibliothèque Pillow : dites adieu à la confusion et ne soyez plus confus Explication détaillée de l'installation de la bibliothèque Pillow : dites adieu à la confusion et ne soyez plus confus Jan 17, 2024 am 09:25 AM

La bibliothèque Pillow est une puissante bibliothèque de traitement d'images Python qui fournit une multitude de fonctions de traitement d'images, notamment la lecture, la modification, l'enregistrement d'images, ainsi que le filtrage, la transformation et la fusion d'images. Avant d'utiliser la bibliothèque Pillow, nous devons d'abord l'installer et la configurer. Cet article fournira un guide complet pour installer la bibliothèque Pillow, avec des exemples de code spécifiques pour vous aider à démarrer plus rapidement. Étape 1 : Installez la bibliothèque Pillow. La bibliothèque Pillow est installée via pip, donc avant l'installation, vous devez

See all articles