(I) Méthode et attribut de sélection dynamique
Dans le travail réel, nous rencontrons souvent cette situation: appelez l'une des deux méthodes [1] selon une certaine condition, ou lisez et écrivez des opérations sur l'un des deux attributs [2]. Le code suivant montre ceci:
La copie de code est la suivante:
if (condition) {
myobj.method1 (somearg);
} autre {
myobj.method2 (somearg);
}
JavaScript fournit une syntaxe simple qui utilise des opérateurs de support carré ([]) pour sélectionner dynamiquement des méthodes et des propriétés. Comme indiqué dans le code suivant, JavaScript a deux syntaxes d'accès aux membres équivalents (cette fonctionnalité est courante dans les langages dynamiques):
OBJ [Expression ResultingInMemberName] == Obj.membername
Si vous avez utilisé des indices entiers pour accéder à un élément dans un tableau, vous avez déjà commencé à utiliser des opérateurs de crochets pour effectuer une sélection dynamique des membres. En effet Cependant, JavaScript ne vous permet pas d'accéder directement à ces propriétés à l'aide d'opérateurs de points (.), Donc MyArray.0 est syntaxiquement illégal (c'est dommage, c'est une syntaxe cool).
Pourquoi les opérateurs de crochets sont-ils plus puissants que la notation des opérateurs DOT? En effet, vous pouvez accéder au membre de l'objet à l'aide de tout contenu représentant le nom du membre entre crochets. Il s'agit notamment des littéraux, des variables qui contiennent des noms de membres, des combinaisons de noms (principalement des épissements de chaîne) et une sélection rapide si / puis à l'aide d'opérateurs ternaires (condition? ValueIftrue: ValueIFFalse). Tout ce contenu sera transformé en chaîne, puis JavaScript utilisera cette chaîne pour trouver les membres correspondants.
Puisqu'une fonction dans JavaScript est elle-même un objet, il peut être référencé comme d'autres valeurs. Si le résultat d'une expression est une fonction, vous pouvez l'appeler directement avec l'opérateur du support, tout comme vous appelez la fonction directement avec le nom de la fonction.
Il convient de noter que si vous utilisez fortement cette astuce sur les paramètres que vous transmettez à la méthode, les parenthèses déroutantes peuvent rendre le code difficile à lire, et il est plus sage d'utiliser la structure si / else ordinaire pour le moment.
(Ii) Propriétés et méthodes d'objet de traversée JavaScript
JavaScript utilise l'instruction in dans les propriétés et les méthodes d'un objet. Les boucles d'instructions for In via un objet JavaScript.
grammaire:
La copie de code est la suivante:
for (valUename dans objectName) {
// code
}
Où, Valuename est le nom de variable, qui contient le nom de la propriété ou de la méthode.