É isso que eu geralmente escrevo para loops.
for (var i = 0; i <20; i ++) {....}Mas acho que algumas pessoas escrevem isso
for (var i = 0; i <20; ++ i) {..}Que impacto isso terá no loop for?
1. Parece que não há diferença para ...
Mas quando usado na tarefa, há uma diferença ...
var a = 1; var b = a ++; var c = 1; var d = ++ c; console.log (b, d); // 1, 2
A ++ é aplicar um primeiro e depois adicione você mesmo
++ a é adicioná -lo primeiro e depois aplicar um
2. É provavelmente um hábito trazido pela era C/C ++. Diz a lenda que ++ I é mais rápido que I ++, mas, na verdade, o desempenho desses dois é semelhante em JS.
Quanto aos detalhes específicos, a especificação é escrita da seguinte maneira:
Para a situação na frente -
Expressão: ++ A unirariamente expressão expr é o resultado da avaliação da uniraryexpression. NewValue.
Uma tradução aproximada:
1. Deixe expr igual o resultado da expressão atual (que é a parte após ++)
2. Deixe o OldValue igual ao resultado da conversão expr
3. Use as mesmas regras que o operador " +", deixe newValue = OldValue + 1
4. Atribua NewValue a EXPR
5. Toda a operação retorna NewValue
Para a situação por trás disso -
PostfixExpression: lefthandsidexpression ++
1.S LHS será o resultado da avaliação da expressão de extinção à esquerda.
2.Le OldValue seja tonumber (getValue (LHS)).
3. Returnifabrupt (OldValue).
4.Let NewValue será o resultado de adicionar o valor 1 ao OldValue, usando as mesmas regras que para o operador + (consulte 12.7.5).
5. Let Status Be PutValue (LHS, NewValue).
6. returnifabrupt (status).
7. Retorne OldValue.
Uma tradução aproximada -
1. Deixe o LHS igual ao resultado da expressão atual (a parte anterior do ++)
2. Deixe o OldValue igual ao LHS para converter o resultado do número
3. Use as mesmas regras que o operador " +", deixe newValue = OldValue + 1
4. Atribua NewValue ao LHS
5. Toda a operação retorna OldValue
Pode -se observar que a diferença entre os dois é apenas a última etapa. Se toda a operação retorna após adicionar um ou antes de adicionar um.
Para a declaração para:
for (var i = 0; i <n; i ++)
A última coluna é apenas adidada e não atribui esse valor a ninguém; portanto, deste ponto de vista, é o mesmo para que os símbolos ++ sejam colocados na frente ou depois.
3. De fato, não há muita diferença. Mas se você quiser buscar esse pouco de eficiência, ++ eu serei de fato mais eficiente.
É de fato da biblioteca padrão da DST de C ++. Quando eu é um iterador de um contêiner de DST, eu não é um número, o I ++ gerará uma operação de atribuição adicional, então ++ eu tenho um desempenho mais alto. Portanto, as pessoas que estão acostumadas a C ++ gostam de usar ++ I para economizar dinheiro quando eu não é um valor numérico.
O exposto acima é a diferença entre I ++ e ++ I em JS para Loop apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!