我需要在我的html页面上插入一个Omega(Ω)。我正在使用其HTML转义代码来执行此操作,因此我可以编写Ω
并得到Ω。当我将其放入HTML元素时,一切都很好。但是,当我尝试将其放入JS中时,例如var Omega = Ω
,它将该代码解析为JS,并且整个过程不起作用。有人知道该怎么做吗?
我需要在我的html页面上插入一个Omega(Ω)。我正在使用其HTML转义代码来执行此操作,因此我可以编写Ω
并得到Ω。当我将其放入HTML元素时,一切都很好。但是,当我尝试将其放入JS中时,例如var Omega = Ω
,它将该代码解析为JS,并且整个过程不起作用。有人知道该怎么做吗?
Answers:
我猜您实际上想Omega
成为包含大写欧米茄的字符串吗?在这种情况下,您可以编写:
var Omega = '\u03A9';
(因为Ω是代码点为U + 03A9的Unicode字符;即,03A9
是937
,但用四个十六进制数字表示。)
尽管@ruakh给出了一个很好的答案,但我还是会添加一些替代方法以确保完整性:
实际上,您甚至可以var Omega = 'Ω'
在JavaScript中使用它,但前提是您的JavaScript代码是:
onclick="var Omega = 'Ω';
alert(Omega)"
或script
带有XML内容类型的XHTML(或XHTML + XML)文档中的元素中。在这些情况下,将首先由HTML解析器解析代码(在传递给JavaScript解释器之前),以便Ω
识别类似的字符引用。这些限制使得在大多数情况下这是一种不切实际的方法。
您也可以这样输入Ω字符,例如在中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}'
你得到这个:🔓
var Omega = "Ω";
太简单?