(I) Método de seleção dinâmica e atributo
No trabalho real, geralmente encontramos esta situação: ligue para um dos dois métodos [1] de acordo com uma determinada condição ou leia e escreva operações em um dos dois atributos [2]. O código a seguir mostra o seguinte:
A cópia do código é a seguinte:
if (condição) {
myobj.method1 (Somearg);
} outro {
myobj.method2 (Somearg);
}
O JavaScript fornece uma sintaxe simples que usa operadores de suporte quadrado ([]) para selecionar dinamicamente métodos e propriedades. Conforme mostrado no código a seguir, o JavaScript possui duas sintaxe de acesso a membros equivalentes (esse recurso é comum em linguagens dinâmicas):
obj [ExpressionResalinMemberName] == obj.memberName
Se você usou subscritos inteiros para acessar um elemento em uma matriz, já começou a usar operadores de suporte quadrado para fazer seleção dinâmica de membros. Isso ocorre porque o próprio objeto de matriz contém atributos (e atributos de comprimento) nomeado após o subscrito do número. No entanto, o JavaScript não permite que você acesse diretamente essas propriedades usando operadores de pontos (.), Portanto, MyArray.0 é sintaticamente ilegal (é uma pena, é uma sintaxe legal).
Por que os operadores de suporte quadrado são mais poderosos que a notação do operador de pontos? Isso ocorre porque você pode acessar o membro do objeto usando qualquer conteúdo que represente o nome do membro em colchetes. Isso inclui literais, variáveis que mantêm nomes de membros, combinações de nomes (principalmente splicing de string) e seleção rápida se/então usando operadores ternários (condição? ValueIftrue: valueiffalse). Todo esse conteúdo será processado em uma string e, em seguida, JavaScript usará essa string para encontrar os membros correspondentes.
Como uma função no JavaScript é em si um objeto, ele pode ser referenciado como outros valores. Se o resultado de uma expressão for uma função, você pode chamá -la diretamente com o operador de suporte, assim como você chama a função diretamente com o nome da função.
Deve -se notar que, se você usar esse truque fortemente nos parâmetros que você passa para o método, os parênteses confusos podem dificultar a leitura do código, e é mais sábio usar a estrutura IF/else regular neste momento.
(Ii) Javascript Traversal Object Properties and Methods
O JavaScript usa a declaração for para iterar sobre as propriedades e métodos de um objeto. O para a declaração em um objeto JavaScript.
gramática:
A cópia do código é a seguinte:
para (Valuename em ObjectName) {
// código
}
Onde o nome do valor é o nome da variável, que mantém o nome da propriedade ou método.