Como posso saber qual versão do Javascript estou usando?


Respostas:


42

A Wikipedia (ou melhor, a comunidade da Wikipedia) mantém uma lista bem atualizada aqui .

  • A maioria dos navegadores está no 1.5 (embora tenham recursos de versões posteriores)
  • O Mozilla avança com cada lançamento de ponto (eles mantêm o padrão, então isso não é surpreendente)
  • Firefox 4 está em JavaScript 1.8.5
  • O outro grande e incomum é o IE9 - ele implementa o ECMAScript 5, mas não implementa todos os recursos do JavaScript 1.8.5 (não tenho certeza do que eles estão chamando esta versão do JScript, mecanismo de codinome Chakra , ainda )

3
Firefox 4 (JavaScript (TM) 1.8.5) e IE9 (JScript 9) implementam muitos recursos ECMAScript 5 , mas considere, por exemplo, JavaScript (TM) 1.8 , é cheio de recursos não padrão , que não estão disponíveis no IE9 (e eles não fazem parte da especificação ES5.), eles são extensões do Mozilla .
CMS

@CMS - excelente ponto sobre os bits que não implementa, tentei melhorar o acima, pois isso borbulhava no topo.
Nick Craver

2
Obrigado, IMO é um ponto importante para enfatizar que JScript! == JavaScript (TM) e que os números de versão JS do Mozilla são quase sem sentido para outras implementações ...
CMS

1
Pelo que vale a pena, parece que a "lista bastante atualizada da Wikipedia" parou de ser assim na época em que esta resposta foi fornecida. Não parece ter sido atualizado desde ~ 2010 ...
NetXpert

82

Clique neste link para ver qual versão o seu BROWSER está usando: http://jsfiddle.net/Ac6CT/

Você deve ser capaz de filtrar usando tags de script para cada versão JS.

<script type="text/javascript">
  var jsver = 1.0;
</script>
<script language="Javascript1.1">
  jsver = 1.1;
</script>
<script language="Javascript1.2">
  jsver = 1.2;
</script>
<script language="Javascript1.3">
  jsver = 1.3;
</script>
<script language="Javascript1.4">
  jsver = 1.4;
</script>
<script language="Javascript1.5">
  jsver = 1.5;
</script>
<script language="Javascript1.6">
  jsver = 1.6;
</script>
<script language="Javascript1.7">
  jsver = 1.7;
</script>
<script language="Javascript1.8">
  jsver = 1.8;
</script>
<script language="Javascript1.9">
  jsver = 1.9;
</script>

<script type="text/javascript">
  alert(jsver);
</script>

Meus relatórios do Chrome 1.7

Roubado descaradamente de: http://javascript.about.com/library/bljver.htm


5
E quanto aos lançamentos menores? por exemplo, 1.8.1, 1.8.2, 1.8.3 ... você vê como isso se tornaria tedioso.
Nick Craver

12
Seria melhor usar a detecção de recursos.
jwueller

2
1.8.1 por exemplo JSON, suporte nativo adicionado , 1.8.5 está em conformidade com ECMAScript 5 ... esses são marcos importantes :)
Nick Craver

3
Então, isso me disse que o Chrome era 1.7, mas ainda assim tem suporte nativo para JSON. Talvez a resposta certa para essa pergunta seja mais que a versão javascript em um navegador não indica necessariamente muitas informações úteis.
Alex Wayne

1
Mozilla suporta javascript até a versão 1.8, mas a sintaxe é diferente:<script type="application/javascript;version=1.7"/>
Yukulélé

17

No Chrome, você pode encontrar facilmente não apenas sua versão JS, mas também uma versão em flash. Tudo que você precisa é digitar chrome://version/uma linha de comando e você obterá algo assim:

insira a descrição da imagem aqui


9
ha ha! Essa não é a versão JS, mas o número da versão do V8 Engine. Além disso, hoje, em 2015, eles mudaram para Blink como o motor de escolha
Christian M. Raymonds

@ ChristianM.Raymonds então por que meu cromo v 46.0.2490.86em novembro de 2015 ainda aparece V8 4.6.85.31?
Salvador Dali

@Savador Dali OP estava perguntando sobre a versão JS - leia a versão da linguagem JavaScript entendida pelo motor e não a versão do motor. Qualquer coisa maior que o Chrome 28 usa Blink. Por favor, faça sua pesquisa.
Christian M. Raymonds

1
@ SalvadorDali- Essa é a versão do motor V8 (um motor Javascript) e NÃO a versão Javascript.
nanosoft

4
@ ChristianM.Raymonds - Blink e V8 são duas coisas muito diferentes. V8 é o mecanismo JS e o Blink é o mecanismo da web e o Chrome usa os dois. Eles são dois motores separados para duas coisas muito diferentes e o uso de um não é mutuamente exclusivo do outro de forma alguma.
nanosoft

6

Em vez de descobrir qual versão você está usando, você pode reformular sua pergunta para "com qual versão do script ECMA o mecanismo JavaScript / JSscript do meu navegador está em conformidade".

Para IE:

alert(@_jscript_version);      //IE

Consulte a resposta de Squeegy para versões não IE :)


3
O Squeegy alterou o nome do usuário ou excluiu sua resposta? Não há respostas aqui de um usuário chamado Squeegy.
Peter Hansen,

@PeterHansen: Opa, deveria ter vinculado à resposta :)
Robin Maben

e os navegadores fazem isso apenas parcialmente, você pode encontrar 97% do ES6, 39% do ES7, kangax.github.io/compat-table/es6 , e mesmo essas tabelas não são totalmente verdadeiras.
prosti

Isso só funciona se Conditional Compilationestiver ativado, então pode não funcionar 100% se você tiver SysAdmin que acredita em segurança "migalha de pão"
GoldBishop

1

Todos os navegadores de hoje usam pelo menos a versão 1.5:
http://en.wikipedia.org/wiki/ECMAScript#Dialect

Em relação ao seu site de tutorial, as informações nele parecem estar extremamente desatualizadas , eu imploro que você vá ao MDC e leia o Guia:
https://developer.mozilla.org/en/JavaScript/Guide

Você ainda pode querer tomar cuidado com os recursos que requerem a versão 1.6ou superior, pois isso pode causar alguns problemas ao Internet Explorer.


"Seu navegador está desatualizado. Atualize para um novo navegador." ... Lista navegadores aqui ...
1,21 gigawatts

0

O JavaScript 1.2 foi introduzido com o Netscape Navigator 4 em 1997. Esse número de versão só teve significado para os navegadores Netscape. Por exemplo, a implementação da Microsoft (como usada no Internet Explorer) é chamada de JScript e tem sua própria numeração de versão que não guarda relação com a numeração do Netscape.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.