2012-06-04 4 views
7

Tengo checked que π es válido para un nombre de variable de JavaScript. Además, cuando intento escribir var π = Math.PI en la consola de Chrome, todo está bien.Nombres de variables y codificaciones de caracteres

Sin embargo, cuando se incluyo la línea var π = Math.PI dentro de un archivo .js escrito con Sublime Text 2 en un Mac, Chrome se queja:

Uncaught SyntaxError: Unexpected token ILLEGAL 

He probado el codificaciones UTF-8, UTF-16 LE y UTF -16 BE, pero ninguno funciona. Cuando ejecuto la línea console.log('π'), escrita en el interior Sublime Text 2 con, grabados UTF-8 Chrome:

Ï€ 

¿Cómo puedo utilizar el JavaScript nombre de la variable π en Sublime Text 2, por lo que Chrome lo entiende?

+3

Por qué diablos haces que desea utilizar caracteres no ascii para nombres variables?!?! – ThiefMaster

+1

Porque me encanta el atajo 'π' para' math.PI'. – Randomblue

+8

Cualquiera que trabaje con su código lo ** HATE ** por eso. Nadie puede escribir 'π' fácilmente. – ThiefMaster

Respuesta

6

Compruebe para asegurarse de que está configurando un <meta charset="utf-8"> en la cabeza de su html o si el juego de caracteres es diferente se puede establecer el atributo charset en su etiqueta script:

<script src="script.js" charset="utf-8"> 
+0

Sí, eso lo solucionó! ¿Cuál es la codificación predeterminada? – Randomblue

+0

Creo que la codificación predeterminada depende completamente de la configuración del servidor web. –

+1

Los servidores normalmente no envían información de codificación de caracteres para los archivos .js. Esto implica que los navegadores utilizarán la codificación especificada en el parámetro 'charset' de la etiqueta' script' o, si no tiene ese parámetro, la codificación de caracteres del documento HTML, que a su vez está determinada por sus encabezados HTTP, aplicable etiqueta 'meta', o conjeturas del navegador, en ese orden. –

Cuestiones relacionadas