A leitura da propriedade `length` de uma matriz é realmente uma operação tão cara em JavaScrip
empre assumi que armazenar em cache o comprimento de uma matriz em JavaScript é uma boa ideia (especialmente na condição de umfor
loop) devido ao custo do cálculo do comprimento de uma matri
for (var i = 0; i < arr.length; i++) { }
// vs
for (var i = 0, arrLength = arr.length; i < arrLength; i++) { }
No entanto, pensei que talvez olength
propriedade @ é atualizada apenas na criação e alteração da matriz. Portanto, ler uma operação não deve ser muito cara, em vez de armazená-la em uma variável (ao contrário de outros métodos em outros idiomas que talvez precisem buscar na memória para encontrar o fim de algo, por exemplo,strlen()
em C).
Eu tenho duas perguntas. Também estou interessado em saber como isso funciona; portanto, não me bata com o otimização prematura bastão
Assuma os mecanismos JavaScript nos navegadore
Existe alguma vantagem em armazenar em cache olength
propriedade de uma matriz em JavaScript? Há muito mais envolvido na leitura de uma variável local sobre a propriedade de um objetÉ olength
propriedade simplesmente alterada na criação e emshift()
epop()
métodos de tipo que não retornam uma nova matriz e simplesmente armazenam como um número inteir