Uso como for(var i=0;i<len;i++) geralmente pode ser substituído por for in.
Por exemplo:
Copie o código do código da seguinte forma:
var a = ["a","b","c"];
for(var el em a){
alerta(a[el]);
}
Isto é para enumerar todos os elementos em a. Claro, o exemplo acima pode ser usado.
Copie o código do código da seguinte forma:
for(var i=0,len=a.length;i<len;i++){
alerta(a[i]);
}
Este método é usado para listar em um loop, mas às vezes pode não funcionar.
Por exemplo:
Copie o código do código da seguinte forma:
var a = {"primeiro":1,"segundo":2,"terceiro":3};
Neste momento, você só pode usar for in para esgotar a lista.
Se um objeto pode ser exaustivamente in pode ser avaliado por meio do atributo propertyIsEnumerable. A descrição é a seguinte:
propriedadeIsEnumerable
Retorna um valor booleano que indica se a propriedade especificada faz parte de um objeto e se a propriedade é enumerável.
Copie o código do código da seguinte forma:
object.propertyIsEnumerable(proNome)
parâmetro
objeto
Obrigatório. um objeto.
proNome
Obrigatório. Um valor de string para o nome da propriedade.
ilustrar
A propriedade propertyIsEnumerable retorna true se proName existir no objeto e puder ser enumerado usando um loop For...In. Se o objeto não tiver a propriedade especificada ou a propriedade especificada não for enumerável, a propriedade propertyIsEnumerable retornará falso. Normalmente, as propriedades predefinidas não são enumeráveis, enquanto as propriedades definidas pelo usuário são sempre enumeráveis.
A propriedade propertyIsEnumerable não considera objetos na cadeia de protótipos.