Мне нужно вставить Омегу (Ω) на мою HTML-страницу. Для этого я использую его экранированный код HTML, поэтому я могу написать Ω
и получить Ω. Это все прекрасно, когда я помещаю это в элемент HTML; однако, когда я пытаюсь поместить его в свой JS, например var Omega = Ω
, он анализирует этот код как JS, и все это не работает. Кто-нибудь знает, как это сделать?
javascript
html
unicode
Синий огонь
источник
источник
var Omega = "Ω";
слишком просто?Ответы:
Я предполагаю, что вы действительно хотите
Omega
быть строкой, содержащей омегу в верхнем регистре? В этом случае вы можете написать:(Поскольку Ω является символом Юникода с кодовой точкой U + 03A9 ; то
03A9
есть937
, за исключением записи в виде четырех шестнадцатеричных цифр.)источник
Хотя @ruakh дал хороший ответ, для полноты я добавлю несколько альтернатив:
Фактически вы можете использовать даже
var Omega = 'Ω'
в JavaScript, но только если ваш код JavaScript:onclick="var Omega = 'Ω'; alert(Omega)"
илиscript
элементе внутри документа XHTML (или XHTML + XML), обслуживаемого с типом содержимого XML.В этих случаях код сначала (перед передачей интерпретатору JavaScript) будет проанализирован анализатором HTML, чтобы
Ω
распознавать символьные ссылки вроде . Ограничения делают этот подход в большинстве случаев непрактичным.Вы также можете ввести символ Ω как таковой, например, в
var Omega = 'Ω'
, но тогда кодировка символов должна позволять это, кодировка должна быть правильно объявлена, и вам потребуется программное обеспечение, позволяющее вводить такие символы. Это чистое решение и вполне выполнимое, если вы используете кодировку UTF-8 для всего и готовы справиться с проблемами, создаваемыми ею. Исходный код будет читабельным, и, прочитав его, вы сразу увидите сам символ, а не обозначения кода. С другой стороны, это может вызвать сюрпризы, если другие люди начнут работать с вашим кодом.Использование
\u
нотации, как вvar Omega = '\u03A9'
, работает независимо от кодировки символов и на практике почти универсально. Однако он может использоваться как таковой только до U + FFFF, то есть до\uffff
, но большинство персонажей, о которых большинство людей когда-либо слышало, попадают в эту область. (Если вам нужны «высшие» символы, вам нужно использовать либо суррогатные пары, либо один из двух подходов, описанных выше.)Вы также можете создать символ, используя этот
String.fromCharCode()
метод, передав в качестве параметра номер Unicode в десятичном виде, как в,var Omega = String.fromCharCode(937)
или в шестнадцатеричном, как вvar Omega = String.fromCharCode(0x3A9)
. Это работает до U + FFFF. Этот подход можно использовать, даже если у вас есть номер Unicode в переменной.источник
U+FFFF
диапазона. У JavaScript тоже есть, так что вы можете это сделать.var poop = '\u{1F4A9}';
var lock = '\u{1F512}'
И вы получите следующее: 🔓Ответ правильный, но вам не нужно объявлять переменную. Строка может содержать ваш персонаж:
К сожалению, все еще эти коды в ASCII необходимы для отображения UTF-8, но я все еще жду (слишком много лет ...) того дня, когда UTF-8 будет таким же, как был ASCII, а ASCII будет просто напоминанием о прошлое.
источник
\u{1F641}
= 🙁