Concepts de base
javascript是一门解释型的语言,浏览器充当解释器。js执行引擎并不是一行一行的执行,而是一段一段的分析执行。Retarder les scripts
L'attribut de différence est défini dans HTML4.0.1, qui est utilisé pour indiquer que le script n'affectera pas la construction de la page lors de sa réalisation. En d'autres termes, le script sera retardé jusqu'à ce que la page entière ait été analysée avant l'exécution. Par conséquent, la définition de l'attribut de différence dans l'élément <cript> équivaut à dire au navigateur de télécharger immédiatement, mais à retarder l'exécution. Dans les documents XHTML, définissez l'attribut de différé à defer=“defer"
Scripts asynchrones
html5 définit l'attribut asynchrone pour <Script>. L'ensemble de la propriété est similaire à la propriété de différence et est utilisé pour modifier le comportement des scripts de traitement. De même, similaire à Defer, Async ne fonctionne qu'avec des fichiers de script externes et indique au navigateur de télécharger immédiatement le fichier. Mais contrairement à des reportages, les scripts marqués comme asynchrones ne garantissent pas l'exécution dans l'ordre dans lequel ils sont spécifiés.
Le but de spécifier l'async est d'empêcher la page d'attendre que le fichier de script soit téléchargé et exécuté, chargeant ainsi d'autres contenus de la page de manière asynchrone. Par conséquent, il est recommandé que les scripts asynchrones ne fonctionnent pas DOM pendant le chargement
sensible aux majuscules et minuscules
Tout dans ECMAScript (y compris les variables, les noms de fonction et les opérateurs) est sensible à la casse.
1. Variables JScript
Les variables sont définies en mémoire lorsqu'elles sont utilisées pour la première fois, elles sont donc référencées plus tard dans les scripts. Déclarez-le avant d'utiliser des variables. Les déclarations variables peuvent être utilisées à l'aide du mot clé VAR.
var count, amount, level; // 用单个var 关键字声明的多个声明。
Nommage variable
Les noms de variables incluent des variables globales, des variables locales, des variables de classe, des paramètres de fonction, etc. Ils entrent tous dans cette catégorie.
La dénomination variable est composée de mots de type préfixe + significatifs, et la lisibilité des variables et des fonctions est augmentée par la nomenclature de chameaux. Par exemple: Susername, NCount.
Spécification du préfixe:
Chaque variable locale doit avoir un préfixe de type, qui peut être divisé en:
S: représente une chaîne. Par exemple: Sname, shtml; n: représente un nombre. Par exemple: npage, ntotal; B: représente la logique. Par exemple: bchecked, bhaslogin; R: représente un tableau. Par exemple: Alist, Agroup; R: représente une expression régulière. Par exemple: rdomain, remail; F: représente une fonction. Par exemple: FGETHTML, finit; O: représente d'autres objets non mentionnés ci-dessus, tels que: Obutton, Odate; G: représente des variables globales, telles que: Gusername, Glogintime;
JScript est un langage sensible à la casse. La création d'un nom de variable légitime doit suivre les règles suivantes:
Notez que le premier caractère ne peut pas être un nombre.
Vous pouvez suivre n'importe quelle lettre ou numéro et souligner, mais pas des espaces
Le nom de variable ne doit pas être un mot réservé.
javascript est un langage faiblement dactylographié, et JavaScript ignore les espaces inutiles. Vous pouvez ajouter des espaces au script pour améliorer sa lisibilité.
var est un mot réservé pour javascript , indiquant que ce qui suit est la description de la variable, le nom de la variable est un identifiant défini par l'utilisateur et les variables sont séparées par des virgules.
Si une variable est déclarée mais qu'aucune valeur ne lui est attribuée, la variable existe et sa valeur est la valeur JScript non définie.
Conversion de type de force
Dans JScript, les opérations peuvent être effectuées sur différents types de valeurs sans se soucier des exceptions de l'interpréteur JScript. Au lieu de cela, l'interpréteur JScript modifie automatiquement (lance) l'un des types de données à un autre type de données, puis effectue l'opération. Par exemple:
La valeur de résultat de calcul est ajoutée à la chaîne et à la valeur de fonte dans une chaîne. L'ajout de la valeur booléenne à la chaîne lance la valeur booléenne à une chaîne. L'ajout de la valeur numérique à la valeur booléenne jette la valeur booléenne à une valeur numérique.
Pour convertir explicitement une chaîne en un entier, utilisez parseInt . Pour convertir explicitement une chaîne en un nombre, utilisez parseFloat .
Durée de vie des variables JavaScript : lorsque vous déclarez une variable dans une fonction, vous ne pouvez accéder qu'à la variable de cette fonction. Lors de la sortie de la fonction, cette variable sera révoquée. Cette variable est appelée variable locale. Vous pouvez utiliser des variables locales avec le même nom dans différentes fonctions, car seules les fonctions qui ont déclaré des variables peuvent reconnaître chaque variable.
Si vous déclarez une variable en dehors d'une fonction, toutes les fonctions de la page peuvent accéder à la variable. La durée de vie de ces variables commence après leur déclaration et se termine lorsque la page est fermée.
Carte d'esprit variable JS
2.JS Type de données
JScript a trois types -> Types de données principaux, deux -> Types de données composites et deux -> Types de données spéciaux.
Types de données principales (de base)
字符串数值布尔Type de données composite (référence)
对象数组Types de données spéciaux
Null`Undefined`Type de données de chaîne: le type de données de chaîne est utilisé pour représenter le texte dans JScript. Dans JS, alors que les deux citations doubles ("") et les citations simples ('') peuvent représenter les chaînes, elles n'ont presque aucune différence. Mais en utilisant uniquement des citations doubles ("") pour indiquer une chaîne est considérée comme la meilleure.
Une valeur de chaîne est une chaîne de zéros ou de caractères plus unicode (lettres, chiffres et marques de ponctuation) organisées ensemble.
Qu'est-ce que Unicode?
Unicode fournit des valeurs uniques pour chaque caractère, quelle que soit la plate-forme, le programme ou la langue. Unicode est développé pour fournir un codage unifié pour le traitement de tous les caractères qui existent dans le monde.
Type de données numériques
Nous devons comprendre que JScript représente en interne toutes les valeurs en tant que valeurs de point flottantes, il n'y a donc pas de différence entre les entiers et les valeurs de points flottants dans JScript.
Type de données booléen
Boolean (logique) ne peut avoir que deux valeurs: vrai ou faux.
Tableaux et objets JS
Pour plus de détails, veuillez consulter mon article -> Résumé d'apprentissage JavaScript - Array and Object Part
Type de données nulles: vous pouvez effacer le contenu d'une variable en attribuant une valeur nul à une variable.
typeof dans JScript rapportera la valeur null en tant que type Object , pas de type null .
<html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "en"> <éad> <meta http-equiv = "contenu-type" contenu = "text / html; charset = utf-8" /> <title> </ title> <prit-type = "Text / Text / javascrip nul); </cript> </ head> <body> </ body> </html>
null est utilisé pour représenter un objet qui n'a pas encore existé, et est souvent utilisé pour représenter une fonction qui tente de renvoyer un objet qui n'existe pas.
Type de données Undefined :
La valeur non définie sera retournée dans la situation suivante:
对象属性不存在,声明了变量但从未赋值。Différence entre null et indéfini
alerte (type de non défini); // alerte "non définie" (typeof null); // alerte "objet" de sortie (null == Undefined); // Sortie "True"
Ecmascript estime que non défini est dérivé de NULL, ils sont donc définis comme égaux.
alerte (null === Undefined); // sortie "FAUX" Alerte (typeof null == Typeof UNDEFINED); // sortie "false"
Null et non défini sont différents dans les types, donc la sortie "fausse". Et === signifie l'égalité absolue, ici null === la sortie non définie fausse
De plus, voici un type de données plus important - Type de données de référence
Type de données de référence
Le type de données de référence JavaScript est un objet stocké dans la mémoire du tas. JavaScript n'autorise pas l'accès direct à l'emplacement et au fonctionnement de l'espace mémoire du tas. Il ne peut utiliser que l'adresse de référence de l'objet dans la mémoire de la pile. Ainsi, les données de type de référence sont réellement stockées dans la mémoire de pile comme l'adresse de référence de l'objet dans la mémoire du tas. Cette adresse de référence vous permet de trouver rapidement des objets stockés dans la mémoire du tas.
Voyons le processus d'attribution des types de données de référence
Bien sûr, l'ajout d'un attribut de nom à OBJ2 est en fait d'ajouter un attribut de nom aux objets dans la mémoire du tas. Obj2 et Obj1 Enregistrer uniquement l'adresse de référence de l'objet de mémoire de tas dans la mémoire de pile. Bien qu'ils soient également copiés, l'objet indiqué est le même. Par conséquent, le changement d'OBJ2 provoque le changement d'OBJ1.
Les valeurs de type de base se réfèrent à des segments de données simples stockés dans la mémoire de la pile, c'est-à-dire un emplacement où ces valeurs sont complètement stockées en mémoire.
La valeur de type de référence fait référence aux objets stockés dans la mémoire du tas, c'est-à-dire que la variable n'est en fait qu'un pointeur, qui pointe vers un autre emplacement en mémoire, où l'objet est enregistré.
En bref, la mémoire du tas stocke les valeurs de référence et la mémoire de pile stocke les valeurs de type fixe.
Dans ECMAScript , les variables peuvent avoir deux types de valeurs, à savoir la valeur d'origine et la valeur de référence.
Un segment simple de données où les valeurs d'origine sont stockées dans la stack , c'est-à-dire que leurs valeurs sont stockées directement à l'emplacement où la variable est accessible. L'objet référencé stocké dans le tas ( heap ), c'est-à-dire que la valeur stockée à la variable est un pointeur ( point ) pointant vers la mémoire où l'objet est stocké.
<script type = "text / javascript"> var box = new object (); // Créer un type de référence var box = "lee"; // La valeur de type de base est la chaîne Box.age = 23; // Il est bizarre d'ajouter des attributs aux valeurs de type de base, car seuls les objets peuvent ajouter des attributs. alerte (box.age); // Ce n'est pas un type de référence et ne peut pas être sorti; </cript>
3.JScript Opérateurs
Priorité: fait référence à l'ordre des opérations des opérateurs. En termes de laïque, il s'agit de calculer la partie de l'opération en premier.
Combinaison: L'ordre de calcul du même opérateur de priorité, en termes de laïcs, est-il d'où la direction à calculer, qu'elle soit à droite ou droite à gauche.
Conversion de type de données
String () To String Type
Number () Convertit en type numérique
Boolean () à Boolean Type
parseInt : convertit une chaîne en entier. Commencez à analyser le début de la chaîne, arrêtez d'analyser à la première position non-inteerte et renvoyez tous les entiers lus auparavant. Si la chaîne ne commence pas par un entier, NAN sera retourné. Par exemple: la valeur renvoyée par ParseInt ("150 HI") est: 150, et la valeur renvoyée par ParseInt ("HI") est: Nan.
parseFloat : convertit une chaîne en un numéro de point flottant. Commencez à analyser le début de la chaîne, arrêtez d'analyser à la première position non-inteerte et renvoyez tous les entiers lus auparavant. Si la chaîne ne commence pas par un entier, NAN sera retourné. Par exemple: parseFloat("15.5 hi") 返回的值是:15.5,parseFloat("hi 15.5")返回的值是:NaN。
eval:将字符串作为javascript表达式进行计算,并返回执行结果,如果没有结果则返回undefined。4.JS Contrôle du processus
Pour les instructions de contrôle des processus JS, voici quelques-unes difficiles à comprendre. Je n'entrerai pas dans les détails des autres. Une carte mentale est attachée ci-dessous.
1. L'instruction FOR ... In exécute une ou plusieurs instructions correspondant à chacun d'un objet, ou chaque élément d'un tableau.
pour (variable dans [objet | array]) instructions
paramètre:
variable : une option requise. Une variable qui peut être l'attribut d'un objet ou de tout élément d'un tableau.
object , array : facultatif. L'objet ou le tableau à traverser dessus.
statement : facultatif. Une ou plusieurs instructions à exécuter par rapport à chaque propriété d'un objet ou à chaque élément d'un tableau. Il peut s'agir d'une déclaration composée.
Bien que les instructions de contrôle conditionnelles (telles que si les instructions) nécessitent l'utilisation de blocs de code uniquement lorsque plusieurs instructions sont exécutées (à partir de l'automne gauche "{" et se terminant à l'auto "}" "), la meilleure pratique consiste à toujours utiliser des blocs de code.
if (args) alert (args); // facile à errer if (args) {alert (args); // recommandé d'utiliser}JS TRACET CONTROCTION Énoncé mental
Fonction 5.JS
Une fonction est un bloc de code réutilisable piloté par un événement ou exécuté lorsqu'il est appelé.
Jscript prend en charge deux fonctions: l'une est une fonction à l'intérieur de la langue, et l'autre est créée par elle-même.
Les fonctions JavaScript ne permettent aucun paramètre (mais les supports contenant les paramètres ne peuvent pas être omis) et les paramètres peuvent être transmis aux fonctions à utiliser par les fonctions.
Pour plus d'informations sur les fonctions, veuillez visiter un autre article de mon article: Un résumé de la partie de la fonction d'apprentissage JavaScript (iv)
Composition d'objets
Méthode - Fonction: Procédure, Propriétés dynamiques - Variables: État, statique
Enfin, une carte mentale résumé par les aînés: