2012-06-04 2 views
7

У меня есть checked, что π действителен для имени переменной JavaScript. Кроме того, когда я пытаюсь написать var π = Math.PI на консоли Chrome, все в порядке.Переменные имена и кодировки символов

Однако, когда я включаю линию var π = Math.PI внутри .js файла, написанного с Sublime Text 2 на Mac, Chrome жалуется:

Uncaught SyntaxError: Unexpected token ILLEGAL 

Я попытался кодировки UTF-8, UTF-16 LE и UTF -16 BE, но никто не работает. Когда я исполняю линию console.log('π'), написанный в Sublime Text 2 с UTF-8, Chrome принтами:

Ï€ 

Как я могу использовать имя переменной JavaScript π в Sublime Text 2, так что Chrome это понимает?

+3

Какого черта вы хотите использовать символы non-ascii для имен переменных?!?! – ThiefMaster

+1

Потому что мне нравится ярлык 'π' для' math.PI'. – Randomblue

+8

Любой, кто работает с вашим кодом, будет ** НЕНАВИСТЬ ** за это. Никто не может легко набрать 'π'. – ThiefMaster

ответ

6

Проверьте, чтобы убедиться, что вы устанавливаете <meta charset="utf-8"> в голову вашего HTML или если кодировка отличается вы можете установить атрибут кодировки на вашем тег сценария:

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

Да, это исправлено! Что такое кодировка по умолчанию? – Randomblue

+0

Я считаю, что кодировка по умолчанию полностью зависит от настроек вашего веб-сервера. –

+1

Серверы обычно не передают информацию о кодировке символов для файлов .js. Это означает, что браузеры будут использовать кодировку, указанную в параметре 'charset' тега' script', или, если у него нет этого параметра, кодировка символов HTML-документа, которая, в свою очередь, определяется его HTTP-заголовками, применима 'meta', или догадки браузера, в этом порядке. –

Смежные вопросы