No 1. Syntaxe et type
1. Définition de la déclaration
Type de variable: var, définir la variable; Soit, définir les variables locales dans le domaine de bloc (portée); const, définir les constantes en lecture seule.
Format variable: commencez par une lettre, soulignez "_" ou $ symbole, sensible à la casse.
Affectation de la variable: La valeur de la variable déclarée mais non attribuée n'est pas définie lorsqu'elle est utilisée. L'utilisation directement de la variable non déclarée lancera une exception.
La variable non attribuée est calculée: le résultat est nan. Par exemple:
var x, y = 1;
console.log (x + y); // Le résultat est NAN, car X n'a pas d'attribution.
2. Portée
Portée variable: il n'y a pas de champ de déclaration de bloc avant ES6, et les variables agissent sur les blocs de fonction ou dans le monde. Par exemple, le code suivant entre x As 5.
if (true) {var x = 5;} console.log (x); // 5Étendue de la variable ES6: ES6 prend en charge la portée du bloc, mais nécessite l'utilisation de LET pour déclarer les variables. Le code suivant publie l'exception.
if (true) {let y = 5;} console.log (y); // référence: y n'est pas défini1234Variable Float: Dans une méthode ou un code global, lorsque nous utilisons des variables avant les variables de vie, nous ne lançons pas des exceptions, mais nous retournons non définis. En effet Comme indiqué dans le code suivant:
/ *** Variable Global Float * / Console.log (x === Undefined); // logs "true" var x = 3; / *** Méthode variable float * / var myvar = "ma valeur"; // le résultat myvar variable est: undefined (function () {console.log (myvar); // undefinedvar myvar = "valeur locale";}) (); Le code ci-dessus est équivalent au code suivant: / *** Variable globale float * / var x; console.log (x === Undefined); // journaux "true" x = 3; / *** Méthode Variable Float * / var myvar = "My Value"; (function () {var myvar; console.log (myvar); // undefinedmyvar = "Value locale";}) ();Variables globales: dans la page, l'objet global est une fenêtre, nous pouvons donc accéder à la variable globale via Window.Variable. Par exemple:
version = "1.0.0"; console.log (Window.Version); // Sortie 1.0.0
NO2. Structure et type de données
1. Type de données
6 Types de base: booléen (vrai ou faux), null (JS Care sensible, différent de nul et nul), non défini, nombre, chaîne, symbole (marquer unique et immuable)
Un type d'objet: objet.
Objet et fonction: un objet en tant que conteneur de valeurs et une fonction en tant que processus d'application.
2. Conversion des données
Fonction: Les méthodes ParseInt et ParseFloat peuvent être utilisées pour convertir une chaîne en nombre.
PARSEINT: La signature de la fonction est ParseInt (String, Radix), Radix est un certain nombre de 2-36 qui représente la base numérique, comme décimal ou hexadécimal. Le résultat de retour est entier ou NAN, par exemple, les résultats de sortie suivants sont tous les 15.
Parseint ("0xf", 16); ParseInt ("F", 16); ParseInt ("17", 8); ParseInt (021, 8); ParseInt ("015", 10); Parseint (15,99, 10); Arseint ("15,123", 10); Parseint ("FXX123", 16); Parseint ("1111", ("FXX123", 16); 2); ParseInt ("15 * 3", 10); ParseInt ("15e2", 10); ParseInt ("15px", 10); ParseInt ("15px", 10); Parseint ("15px", 10); Parseint ("15px", 10), 10); 10;parsefloat: la signature de la fonction est parsefloat (string), et le résultat est un nombre ou un nan. Par exemple:
parsefloat ("3.14"); // renvoie le numéro parsefloat ("314e-2"); // renvoie le numéro parsefloat ("plus de caractères non chiffres"); // Renvoie le numéro nan3. Textualisation du type de données
Types texturés: Array, booléen, point flottant, entiers, objet, regexp, chaîne.
Cas de virgule supplémentaires dans le tableau: ["Lion" ,, "Angel"], longueur 3, la valeur de [1] est indéfend. [«Home» ,, «School»,], La dernière virgule est omise donc la durée est de 3. [, «Home» ,, «School»], la longueur 4. [«Home» ,, «School» ,,,], la longueur 4.
entier entier: les entiers peuvent être exprimés comme décimaux, octaux, hexadécimaux et binaires. Par exemple:
0, 117 et -345 // décimal 015, 0001 et -0o77 // octal 0x1123, 0x00111 et -0xf1a7 // hex 0b11, 0b0011 et -0b11 1234 // binaire de points flottants: [(+ | -)] [chiffres] [. Par exemple: 3.1415926, -.123456789, -3.1e + 12 (3100000000000), .1E-23 (1E-24)
Objet: La valeur d'acquisition de propriété d'un objet peut être obtenue via ". Attribut" ou "[Nom d'attribut]". Par exemple:
var car = {manycars: {a: "saab", "b": "jeep"}, 7: "mazda"}; console.log (car.manycars.b); // jeepconsole.log (car [7]); // MazdaAttribut d'objet: le nom d'attribut peut être n'importe quelle chaîne ou une chaîne vide, et les noms non valides peuvent être inclus dans les citations. Les noms complexes ne peuvent pas être obtenus à travers., Mais peuvent être obtenus via []. Par exemple:
var inusualPropertyNames = {"": "une chaîne vide", "!": "bang!"} console.log (unusualpropertyNames. ""); // syntaxerror: stringConsole.log inattendu (inusualPropertyNames [""]); // un stringconsole vide.log (inusualPropertyNames.!); // Syntaxerror: Token inattendu! Console.log (UnsusualPropertyNames ["!"]); // Claquer!Caractères de transformation: Les résultats de sortie de chaîne suivants contiennent des devis doubles car le symbole de transformation "/" "est utilisé.
var quote = "Il a lu /" La crémation de Sam McGee / "par RW Service"; Console.log (Quote); // Sortie: il a lu "La crémation de Sam McGee" par RW Service.1.
Méthode de rupture de ligne de chaîne: Ajouter "/" directement à la fin de la chaîne, comme indiqué dans le code suivant:
var str = "Cette chaîne / est cassée / multiples / lignes." Console.log (str); // Cette chaîne est traversée sur les multiplelines.
NO3. Contrôle le flux et la gestion des erreurs
1. Expression de bloc
Fonction: Les expressions de blocs sont généralement utilisées pour contrôler les flux, comme si, pour et bien. Dans le code suivant, {x ++;} est une déclaration de bloc.
tandis que (x <10) {x ++;}Il n'y avait pas de portée du domaine de bloc avant ES6: avant ES6, les variables définies dans les blocs étaient en fait incluses dans les méthodes ou dans le monde, et l'influence des variables a dépassé la portée de la portée du bloc. Par exemple, le résultat d'exécution final du code suivant est 2, car les variables déclarées dans l'acte de bloc sur la méthode.
var x = 1; {var x = 2;} console.log (x); // Sortie 2Après ES6, il y a une plage de domaine de bloc: dans ES6, nous pouvons modifier la déclaration de la déclaration de domaine de blocs pour le laisser, de sorte que la variable ne fait que l'élaboration de la plage de blocs.
2. Jugement logique
Les valeurs spéciales jugées fausses: false, indéfinie, nul, 0, nan, "".
Types booléens et booléens simples et objets: Il existe une différence entre les types faux et vrais des types booléens simples et des types de booléens faux et vrais des objets, et les deux ne sont pas égaux. Comme dans l'exemple suivant:
var b = new boolean (false); if (b) // renvoyer truefif (b == true) // return false
NO4. Gestion des exceptions
1. type d'exception
Syntaxe de lancer d'exception: le lancer d'exception peut être de n'importe quel type. Comme indiqué ci-dessous.
lancer "Error2"; // Type de chaîne Throw 42; // Type de numéro de nombre True; // Boolean Type Throw {toString: function () {return "Je suis un objet!"; }}; // Type d'objetException personnalisée:
// Créer un type d'objet UseRexceptionFunction useRexception (message) {this.message = message; this.name = "userexception";} // réécriture la méthode toString pour obtenir directement des informations utiles lors de la lancement d'une exception userexception.prototype.tostring = function () {return this.name + ': "+ this.Message +' ';"; lancer une nouvelle utilisation ("valeur trop élevée");2. Syntaxe
Mots-clés: utilisez Try {} catch (e) {} Enfin {} Syntaxe, similaire à la syntaxe C #.
Enfin la valeur de retour: si cela ajoute enfin une instruction RETOUR, quelle que soit l'intégralité du retour. Comme indiqué ci-dessous:
fonction f () {try {console.log (0); lancer "faux"; } catch (e) {console.log (1); Retour Vrai; // L'instruction de retour est interrompue jusqu'à ce que l'exécution soit finalement terminée Console.log (2); // code qui ne sera pas exécuté} enfin {console.log (3); retourne false; // écraser la console de retour.log (4); // code qui ne sera pas exécuté} // "return false" est exécuté maintenant console.log (5); // non accessible} f (); // Sortie 0, 1, 3; Retourner fauxEnfin, avaler une exception: s'il y a enfin un retour et il y a une exception de lancer dans la prise. L'exception de lancer ne sera pas capturée car elle a été couverte par le retour enfin. Le code suivant ressemble:
fonction f () {try {throw "faux"; } catch (e) {console.log ('capturé intérieur "faux"'); jeter e; // L'instruction Throw est interrompue jusqu'à ce que l'exécution soit finalement terminée} Enfin {return false; // écrase l'instruction de lancer dans try.catch} // "return false"} try {f ();} catch (e) {// il ne sera pas exécuté ici parce que le jet dans le capture a été écrasé par l'instruction de retour dans Final Console.log ('Bogus "capturé"Objet d'erreur système: nous pouvons utiliser directement l'erreur {nom, message}
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.