Maison > interface Web > js tutoriel > Quelques questions de base sur JS

Quelques questions de base sur JS

jacklove
Libérer: 2018-05-21 10:21:12
original
1623 Les gens l'ont consulté

Dans le développement et l'apprentissage, nous rencontrons souvent des problèmes avec js. Cet article présentera quelques problèmes fondamentaux liés à js.

Quel est l'ordre dans lequel CSS et JS sont placés sur la page Web ?

Généralement, on met le CSS dans la balise head et le code JS à la fin du code body.

<!DOCTYPE html><html><head>
  <meta charset="utf-8">
  <title>JS基础</title>
  <style>
    
    /* 这里放css代码 */      
    
  </style></head><body>
  <!-- 这里放HTML代码 -->
    
  <script>
Copier après la connexion




Explication de l'écran blanc et FOUC

Écran blanc : Si le style CSS est placé en bas, un écran blanc apparaîtra sur la page dans certains scénarios (ouverture d'une nouvelle fenêtre, rafraichissement, etc.) au lieu de le contenu s'affichant progressivement. Si vous utilisez la balise @import, même si le lien est placé dans le CSS et placé dans l'en-tête, un écran blanc peut apparaître.

Le script bloquera l'affichage du contenu suivant

Le script bloquera le téléchargement des composants suivants
Pour les images et CSS, ils seront chargés simultanément (comme en charger deux sous un nom de domaine en même temps)), mais lors du chargement de JS, la concurrence est désactivée et les autres contenus ne peuvent pas être téléchargés, donc placer JS en haut de la page provoquera également un écran blanc.

FOUC (Flash of Unstyled Content) Flash de contenu non stylé : Si vous mettez le style CSS en bas, pour le navigateur IE, dans certains scénarios (cliquez sur le lien, saisissez l'URL, utilisez le signet pour saisir, etc.), le phénomène FOUC se produira (le contenu non stylé est chargé progressivement et la page affiche soudainement le style après le chargement du CSS). Pour Firefox, le phénomène FOUC se produira toujours.

Quelles sont les fonctions de async et defer ? Quelle est la différence ?

Sans async et defer, le script actuel sera chargé et exécuté immédiatement lors du chargement du navigateur, et le navigateur ne pourra pas restituer les éléments du document sous la balise script. asynchrone et différé, le navigateur peut Le processus de chargement et de rendu des documents suivants est effectué parallèlement au chargement et à l'exécution des scripts JS, c'est-à-dire que le chargement est asynchrone.

La différence entre les deux réside principalement dans le moment où exécuter le script après son téléchargement. Defer retardera l'exécution du script en fonction de l'ordre de chargement jusqu'à ce que le document soit analysé et affiché, tandis que l'async n'aura pas d'importance. l'ordre de votre déclaration, à condition qu'elle soit chargée immédiatement, pas dans l'ordre.
De manière générale, le report est plus conforme à nos scénarios d'utilisation.

Mécanisme de rendu de la page Web

Analyse les balises HTML, construit l'arborescence DOM

Analyse les balises CSS, construit l'arborescence CSSOM

Combine DOM et CSSOM dans un rendu arbre (arbre de rendu) effectuer une mise en page de base

Calculer la structure géométrique de chaque nœud

Dessiner chaque nœud à l'écran et le présenter à l'utilisateur

JavaScript définit plusieurs types de données ? Quels sont les types simples ? Quels sont les types complexes ?

Null : C'est un pointeur nul

Sous-fin : Il y a un pointeur mais il ne pointe vers aucun espace

Booléen : Valeur booléenne, vrai ou faux (vrai, faux)

Numéro : Type de nombre.

String : Type de chaîne, représenté par des guillemets simples ou des guillemets doubles.

Objet : Objet, le concept de base de JS, le type de données le plus important. (Tout est un objet)

Les 5 premiers types sont des types simples et Object est un type complexe.

Que représentent respectivement NaN, undefined et null ?

NaN : Cela signifie Pas un nombre, ce qui signifie que ce n'est pas un nombre et n'est égal à aucune valeur, y compris lui-même (. One n'est égal à aucune valeur. Type de valeur numérique)

sous-fin : C'est la seule valeur de Underfined, ce qui signifie que la variable est seulement déclarée mais pas initialisée, ce qui signifie qu'il y a ce pointeur, mais ce pointeur ne pointe vers aucun espace

null : Null La seule valeur représente un pointeur nul, ce qui n'existe pas

Quelles sont les fonctions et les différences entre typeof et instanceof ?

La fonction de typeof peut déterminer le type de données d'une valeur renvoyée et la mettre dans l'opération Devant le nombre, l'opérande peut être de n'importe quel type.

function a(){}
a(){}typeof a"function" //L'opérande est la fonction renvoyant functiontypeof 123421"number"typeof "32423423423""string"typeof true"boolean" typeof undefined"undefined" //Utilisez ceci pour vérifier les variables non définies typeof window"object" //Tous les autres renvoient un objet

instanceof est utilisé pour déterminer si une variable est une instance d'un objet, car typeof les rencontres null, array et object renverront tous le type d'objet, donc lorsque nous voulons déterminer si un objet est un tableau, ou déterminer si une variable est une instance d'un objet, nous devons utiliser instanceof

Code problème

1. Le code suivant détermine si une variable est un nombre, une chaîne, un booléen ou une fonction

function isNumber(el){ 
 if ((typeof el)==="Number"){   return true;
   }  else { 
return false
  };
}function isString(el){ 
  if ((typeof el)==="String"){   return true;
   }  else { 
return false
  };
}function isBoolean(el){ if ((typeof el)==="Boolean"){   return true;
   }  else { 
return false
  };
}function isFunction(el){  if ((typeof el)==="Function"){   return true;
   }  else { 
return false
  };
}var a = 2, 
b = "jirengu", 
c = false;alert( isNumber(a) ); //truealert( isString(a) ); //falsealert( isString(b) ); //truealert( isBoolean(c) ); //truealert( isFunction(a)); //falsealert( isFunction( isNumber ) ); //true
Copier après la connexion

2. Quelle est la sortie du code suivant ?

Quelques questions de base sur JS

Je suis une image

3 La sortie du code suivant est ?

var a = 1;
a+++a;typeof a +2;

Le résultat est le numéro2, (le typeof a une très haute priorité, donc le typeof a est calculé en premier et le résultat est le nombre, et 2 est inclus , c'est donc le numéro2)

4. Parcourez le tableau, imprimez le carré de chaque élément du tableau

var arr = [3,4,5]// todo..// Sortie 9, 16, 25

code Comme suit :

Quelques questions de base sur JS

Je suis une image

5. Parcourez JSON et imprimez les valeurs à l'intérieur

var obj = { nom : 'faim', sexe : 'masculin', âge : 28}//todo ...// Nom de sortie : faim, sexe : masculin, âge :28

Le code est comme indiqué sur l'image : (référence ici)

Quelques questions de base sur JS

Je suis une image

6. la sortie du code suivant ? Pourquoi

console.log(a);var a = 1;console.log(a);console.log(b);

Le d'abord console.log(a ); La sortie est sous-définie car JS promouvra les variables globales et a est uniquement déclaré mais non attribué.
La sortie du deuxième console.log(a); est 1, car elle attribue 1 à a après var a =1;.
La troisième sortie console.log(b); signalera une erreur car b n'est pas déclaré ni attribué de valeur.

Cet article présente quelques questions d'introduction de base. Si vous souhaitez plus de connaissances connexes, veuillez faire attention au site Web chinois de php.

Recommandations associées :

Comment modulariser require.js avec js front-end

Une image implémentée avec CSS Terminé instance de bouton

Connaissances pertinentes sur l'instance de requête AJAX ASP/PHP

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:php.cn
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
Derniers numéros
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal