O ponto e vírgula em JavaScript representa o final da instrução, mas como o JavaScript tem regras automáticas de inserção de ponto e vírgula, é muito fácil desfocar. Em circunstâncias normais, uma nova linha gerará um ponto e vírgula, mas a situação real não é. quer dizer, um ponto e vírgula pode ou não ser gerado quando uma linha é quebrada em JavaScript. A inserção automática de um ponto e vírgula depende principalmente das linhas superiores e inferiores. Portanto, mesmo programadores experientes às vezes têm dores de cabeça.
Existem também explicações correspondentes para as regras de inserção automática de ponto e vírgula no ECMAScript : instruções vazias, instruções variáveis, instruções de expressão, instruções do-while, instruções continue, instruções break, instruções return e instruções throw devem ser separadas por The. o número termina. Esses pontos e vírgulas sempre podem aparecer explicitamente no texto do código-fonte. Por conveniência, esses pontos e vírgulas no texto do código-fonte podem ser omitidos em certos casos. Em outras palavras, não há necessidade de inserir um ponto-e-vírgula no final dessas instruções. O JavaScript irá inseri-lo automaticamente no final da instrução.
Se quiser conhecer as regras detalhadas de inserção automática de ponto e vírgula ECMAScript, você pode visualizar o seguinte link:
A prática revela a verdade. Dê uma olhada nos exemplos a seguir e você entenderá que a inserção automática de ponto e vírgula não é tão evasiva. Um pouco de descuido pode lhe dar dor de cabeça.
Assassinato causado por retorno
A seguir está o conteúdo citado: teste de função(){ |
Uma função que retorna o valor de a+b parece boa à primeira vista, mas o resultado da execução do alerta é indefinido. De acordo com as regras de inserção automática de ponto e vírgula, se houver quebra de linha após a instrução return, o ponto e vírgula será inserido automaticamente, sendo mais fácil de entender se não houver valor de retorno. Se precisar quebrar a linha, você pode fazer isso:
A seguir está o conteúdo citado: teste de função(){ (função(){ |
Os dois pontos e vírgulas no cabeçalho da instrução for não são inseridos automaticamente.
A seguir está o conteúdo citado: for( var a=1,b=10 // Ponto e vírgula não será inserido automaticamente |
ECMAScript também tem uma explicação para o acima: interpretar ponto-e-vírgula como instruções vazias e não inserir automaticamente ponto-e-vírgula em () em instruções for são casos especiais e não são regidos por regras de inserção automática.
Embora JavaScript seja uma linguagem de tipo fraco, as regras de inserção automática de ponto e vírgula do ECMAScript são difíceis de entender completamente. No entanto, ao desenvolver bons hábitos de escrita de código, inserir ponto-e-vírgula manualmente e formar um hábito, você pode evitar esses problemas. Ao mesmo tempo, será de grande ajuda para você e outras pessoas na depuração de programas e na leitura de código.
Ao mesmo tempo, ECMAScript também dá alguns conselhos aos programadores:
++ ou — devem aparecer na mesma linha que seus operandos.
A expressão em uma instrução return ou throw deve aparecer na mesma linha que return ou throw.
Os rótulos em uma instrução break ou continue devem aparecer na mesma linha que a break ou continue.