Grammaire
Expression d'énoncé
Une phrase est un groupe de mots qui exprime complètement un certain sens, composé d'un ou plus Il se compose de phrases, et elles sont reliées par par des signes de ponctuation ou des mots de connexion.
Les déclarations sont équivalentes aux phrases, les expressions sont équivalentes aux phrases et les opérateurs sont équivalents aux signes de ponctuation et aux connecteurs.
Les expressions en JavaScript peuvent renvoyer une valeur de résultat.
var a = 3 * 6;
var b = a;
var a = 3 * 6; var b = a;
déclaration , car il déclare l'instructiona = 3 * 6; b = a;
instruction d'expression>La valeur du résultat de l'instruction
Les effets secondaires de l'expression
var a = 42;
var b = a++; a Valeur42 ( attribue la valeur à b),
puis ajoute la valeur de a 1; L'effet secondaire se produira (un incrément) avant que l'expression ne renvoie le résultat et l'effet secondaire de a++ se produira après. ++a++ générera
ReferenceErrorerreur var a = 42; var b = (a++); Le symbole concatène plusieurs instructions d'expression indépendantes en une seule instruction : var a = 42,b; b = ( a++,a)
a ; // 43b; // 43 L'opérateur delete est utilisé pour supprimer des attributs dans des objets et des éléments dans des tableaux.
var obj = { 🎜>delete obj.a; // true
obj.a; >
function voyels(str){
var matches;
If(str) { 🎜>
if(matches) { correspondances de retour ;} } }voyelles("Hello World" ); "o", "o"]
Utilisez les effets secondaires des instructions d'affectation pour combiner deux instructions if en une seule
Function vomels (str){
var matches;
ductatchatch dans toutes les lettres d'éléments > Retourner les correspondances ;
} > votes("Hello World" ,"o"); ]
Règles de contexte
1.Accolades
Constantes d'objet
//Supposons que la fonction bar ()
a été définie 🎜>} Label
🎜> 🎜> [] + {}; // 0Déconstruction d'objet
function getData() { b : 🎜> } var { a , b } = getData();
console.log(a,b); // 42 "foo"peut également être utilisé comme déstructuration d'objet ing de fonctions nommées paramètres pour faciliter l’affectation implicite des propriétés de l’objet.
Fonction foo({a,b,c}){// Plus nécessaire :
// var a = obj.a, b = obj.b, c = obj.c console.log(a,b,c)}
foo({>
c : [1,2,3], a : 42, b : "foo" } // 42" foo" [ 1,2,3]Priorité des opérateurs
var a = 42; var b = " foo « ;Pour
&&et
|| , si le résultat peut être obtenu à partir de l'opérande gauche, le côté droit peut être ignoré L'opérande
, nous appelons ce phénomène un court-circuit.
a && b || c ? c || b a : c && b : aParce que la priorité de l'opérateur && est supérieure à ||, et || > a une priorité plus élevée que ? :. (a && b || c) ? (c || b) ? a : (c && b) : a
L'association de l'opérateurest soit de gauche à droite ou de droite à gauche, selon que la combinaison part de la gauche
ou de la droite.
var a = foo() && bar();Exécutez foo() en premier Suivez l'ordre d'exécution de gauche à droite
var a , b , c;a = b = c = 42; C'est en fait ainsi que cela est géré
a = ( b = ( c = 42)) var a = 42; var b = "foo";var c = faux;
var d = a && b || c ? || a : c && b : a; >? ((c || b) ? a : (c && b)) : aMaintenant, exécutons
un par un .(a && b) Le résultat est"foo".
2."foo" || c Le résultat est
"foo".3,Le premier ? Dans
"foo"est vrai. 4.(c || b)
Le résultat est"foo". logue in in in in on 4. (c || b) Le résultat est
"foo"., "foo"
est la vraie valeur. 6.a La valeur de est 42
Les erreurs qui se produisent pendant la phase de compilation sont appelées erreurs précoces. un type d'erreurs précoces. Utilisez try..catch pour capturer
Les erreurs de syntaxe sont généralement signalées par les navigateurs 🎜> SyntaxError
<.>Utiliser les variables à l'avance
Zone morte temporaireTDZ laisser
Bloquer la portée{ a = 2; // ReferenceError
Laisser a; }
Paramètres de fonction
Fonction foo(a = 42, b = a + 1){
>
foo(); // 42 43 foo(undefined); 🎜>foo(5); // 5 6
fo o( void 0, 7); // 42 7 foo(null) // null 1
essayez.. enfin
Le code dans enfin
sera toujours try sera exécuté après S'il y a . catch , il sera exécuté après catch .Vous pouvez considérer le code dans finalement comme une fonction de rappel, qui est toujours exécutée en dernier.
commutateur
Vous pouvez le considérer comme une version simplifiée de if..else if.. else .
switch (a) {
cas 2 :
// Exécuter du code
retour ;
🎜>
//Exécuter du code
}Environnement mixte
JavaScriptCréez dynamiquement un
script, des baliseset ajoutez-les au
DOM de la page.
var Greeting = "Hello World"; var el = document.createElement("script"); el.text = "function foo() { alert(greeting); setTimeout(foo,1000)}"; document.body.appendChild(el); Si la valeur est définie sur
URL, vous pouvez passer