(1) Sélection dynamique des méthodes et des attributs
Dans le travail réel, on rencontre souvent cette situation : appeler l'une des deux méthodes [1] selon une certaine condition, ou entre deux attributs Des opérations de lecture et d'écriture sont effectuées sur l'un des [2]. Le code suivant montre cette situation :
if ( condition ) {
myObj.method1(someArg);
} else {
myObj.method2(someArg);
}
JavaScript fournit une syntaxe simple, c'est-à-dire , utilisez l'opérateur crochet ([]) pour sélectionner dynamiquement les méthodes et les propriétés. Comme le montre le code suivant, JavaScript a deux syntaxes d'accès aux membres équivalentes (cette fonctionnalité est courante dans les langages dynamiques) :
obj[expressionResultingInMembername] == obj.memberName
Si vous avez utilisé l'indice Integer pour accéder à un élément du tableau, vous avez alors commencé à utiliser l'opérateur crochet pour la sélection dynamique des membres. En effet, l'objet tableau lui-même contient des propriétés nommées avec des indices numériques (ainsi que la propriété length). Cependant, JavaScript ne vous permet pas d'accéder directement à ces propriétés à l'aide de l'opérateur point (.), donc myArray.0 est syntaxiquement illégal (ce qui est dommage, car c'est une syntaxe sympa).
Pourquoi l'opérateur crochet est-il plus puissant que la notation d'opérateur point ? En effet, vous pouvez accéder aux membres d'un objet en utilisant tout ce qui représente un nom de membre entre crochets. Ceux-ci incluent des littéraux, des variables contenant des noms de membres, des combinaisons de noms (dans la plupart des cas, une concaténation de chaînes) et une sélection rapide si/alors à l'aide de l'opérateur ternaire (condition ? valueIfTrue : valueIfFalse). Tout ce contenu sera traité en chaîne, puis JavaScript utilisera cette chaîne pour trouver le membre correspondant.
Étant donné que les fonctions en JavaScript sont elles-mêmes des objets, elles peuvent être référencées comme d'autres valeurs. Si le résultat d’une expression est une fonction, vous pouvez l’appeler directement à l’aide de l’opérateur parenthèses, tout comme vous appelleriez une fonction directement à l’aide de son nom.
Il est à noter que si vous utilisez beaucoup de ces techniques sur les paramètres passés à la méthode, les parenthèses confuses peuvent rendre le code difficile à lire. Dans ce cas, il est plus judicieux d'utiliser le if/else régulier. structure.
(2) JavaScript traverse les propriétés et les méthodes de l'objet
JavaScript utilise l'instruction for in pour parcourir les propriétés et les méthodes de l'objet. L'instruction for in parcourt l'objet JavaScript. Chaque fois qu'elle boucle, elle obtiendra une propriété ou une méthode de l'objet.
Syntaxe :
pour (valueName in ObjectName){
// Code
}
Parmi eux, valueName est le nom de la variable, qui enregistre le nom de l'attribut ou de la méthode. La valeur de valueName changera. à chaque fois ça boucle.