2012-06-04 4 views
7

Ich habe checked, dass π für einen JavaScript-Variablennamen gültig ist. Wenn ich versuche, var π = Math.PI in der Chrome-Konsole zu schreiben, ist alles in Ordnung.Variablennamen und Zeichenkodierungen

Allerdings, wenn ich die Linie var π = Math.PI in einer .js Datei mit Sublime Text 2 auf einem Mac geschrieben sind, Chrome klagt:

Uncaught SyntaxError: Unexpected token ILLEGAL 

ich den Kodierungen UTF-8, UTF-16 LE und UTF versucht haben, -16 BE, aber keiner arbeitet. Wenn ich führen die Linie console.log('π'), innerhalb Sublime Text geschrieben 2 mit UTF-8, Chrome druckt:

Ï€ 

Wie kann ich Variable den JavaScript π Namen in Sublime Text 2, so dass Chrome es versteht?

+3

Warum zum Teufel tun Sie verwenden möchten Nicht-ASCII-Zeichen für Variablennamen?!?! – ThiefMaster

+1

Weil ich die Abkürzung 'π' für' math.PI' liebe. – Randomblue

+8

Jeder, der mit deinem Code arbeitet, wird dich dafür hassen **. Niemand kann 'π' leicht eingeben. – ThiefMaster

Antwort

6

Überprüfen Sie, ob Sie ein <meta charset="utf-8"> im Kopf der HTML-Einstellung oder der charset unterscheidet Sie das Attribut charset auf Ihrem Skript-Tag einstellen:

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

Ja, das hat es behoben! Was ist die Standardcodierung? – Randomblue

+0

Ich glaube, dass die Standardcodierung vollständig von Ihren Webservereinstellungen abhängt. –

+1

Server senden normalerweise keine Zeichencodierungsinformationen für .js-Dateien. Dies bedeutet, dass Browser die im 'charset'-Parameter des' script'-Tags angegebene Kodierung verwenden oder, falls sie diesen Parameter nicht besitzt, die Zeichenkodierung des HTML-Dokuments, das wiederum durch seine HTTP-Header bestimmt wird, anwendbar ist "Meta" -Tag oder Browser-Ratespiel in dieser Reihenfolge. –