Um bug apareceu no programa hoje. Debugi por um longo tempo e finalmente descobri que era esse problema.
Um experimento foi feito:
alerta (parseint ("01")), quando o valor é 01 ====> 07, é normal, mas em "08", "09" retornará 0.
(Este fenômeno ocorre nos navegadores do kernel da IKEA, como o 360 navegador, esse erro ocorrerá) (Google, Firefox não será afetado)
.
Aprendi sobre as razões para esse fenômeno depois de ler as informações:
A explicação do grande Deus:
01--07 Naturalmente, não tem problema, mas 09 e 08 são todos formulários octal não qualificados, por isso foram processados como 0. Para resolver esse problema, você pode usar outro parâmetro da função parseint para dizer à parseint para processá-lo em decimal.
parseint ("08", 10) ou parseint ("09", 10)
Parseint (String, Radix) é converter string em números inteiros. O segundo parâmetro é definir o formato da string. Comumente usados são 2, 8, 10 e 16, indicando o número da sequência no que é o número binário.
A faixa de radix pode ser desejável é de 2 ~ 36. Se não estiver dentro desse intervalo, a NAN será devolvida.
Se o valor do Radix estiver definido como 0 ou não, o formato da string será reconhecido automaticamente:
Começando com "0x", parseint () tratará o restante da string, exceto 0x como um número hexadecimal.
Começando com "0", Parseint () tratará caracteres que não sejam 0 como números octal ou hexadecimais.
Começando com os números 1 a 9, o parseint () o tratará como um número decimal.
O exposto acima é o conhecimento relevante sobre as razões pelas quais o Parseint ("08") e "09" retornam 0 no JavaScript apresentado a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a tempo. Muito obrigado pelo seu apoio ao site wulin.com!