2012-06-04 16 views
7

Posiadam checked, że π jest poprawne dla nazwy zmiennej JavaScript. Ponadto, gdy próbuję pisać var π = Math.PI w konsoli Chrome, wszystko jest w porządku.Nazwy zmiennych i kodowania znaków

Jednak, kiedy to linię var π = Math.PI wewnątrz pliku .js pisemnej z Sublime Text 2 na Mac, Chrome narzeka:

Uncaught SyntaxError: Unexpected token ILLEGAL 

Próbowałem kodowania UTF-8, UTF-16 LE i UTF -16 BE, ale żadna nie działa. Kiedy wykonać linię console.log('π'), napisany wewnątrz Sublime Text 2 z UTF-8, grafiki Chrome:

Ï€ 

Jak mogę użyć nazwy zmiennej JavaScript π w Sublime Text 2, tak, że Chrome to rozumie?

+3

Dlaczego do cholery chcesz użyć znaki spoza zestawu ascii dla nazw zmiennych?!?! – ThiefMaster

+1

Bo uwielbiam skrót 'π' dla' math.PI'. – Randomblue

+8

Ktoś, kto użyje twojego kodu, ** HATE ** za to. Nikt nie może łatwo wpisać "π". – ThiefMaster

Odpowiedz

6

Sprawdź, upewnij się, że ustawienie <meta charset="utf-8"> w głowie swojej html lub jeśli charset jest inna można ustawić atrybut charset na tagu skryptu:

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

Tak, to naprawiło! Jakie jest domyślne kodowanie? – Randomblue

+0

Uważam, że domyślne kodowanie jest całkowicie zależne od ustawień serwera WWW. –

+1

Serwery zazwyczaj nie wysyłają żadnych informacji o kodowaniu znaków dla plików .js. Oznacza to, że przeglądarki będą używać kodowania określonego w parametrze 'charset' znacznika' script' lub, jeśli nie ma tego parametru, kodowania znaków dokumentu HTML, który z kolei jest określony przez jego nagłówki HTTP, mające zastosowanie 'tag meta' lub domysły przeglądarki, w tej kolejności. –

Powiązane problemy