HTML 페이지에 Omega (Ω)를 삽입해야합니다. HTML 이스케이프 코드를 사용하여 작성 Ω
하고 Ω을 얻을 수 있습니다 . HTML 요소에 넣었을 때 그것은 모두 훌륭합니다. 그러나 내 JS에 넣으려고하면 예를 들어 var Omega = Ω
해당 코드를 JS로 구문 분석하고 모든 것이 작동하지 않습니다. 이 문제를 해결하는 방법을 아는 사람이 있습니까?
HTML 페이지에 Omega (Ω)를 삽입해야합니다. HTML 이스케이프 코드를 사용하여 작성 Ω
하고 Ω을 얻을 수 있습니다 . HTML 요소에 넣었을 때 그것은 모두 훌륭합니다. 그러나 내 JS에 넣으려고하면 예를 들어 var Omega = Ω
해당 코드를 JS로 구문 분석하고 모든 것이 작동하지 않습니다. 이 문제를 해결하는 방법을 아는 사람이 있습니까?
답변:
실제로 대문자 오메가가 포함 된 문자열 이 Omega
되고 싶 습니까? 이 경우 다음과 같이 쓸 수 있습니다.
var Omega = '\u03A9';
(Ω이기 때문에 코드 포인트 U + 03A9와 유니 코드 문자 ,이며 03A9
이다 937
. 네 개의 16 진수로 기록 된 것을 제외하고는,)
@ruakh가 좋은 대답을했지만 완전성을위한 대안을 추가 할 것입니다.
실제로 var Omega = 'Ω'
JavaScript 에서도 사용할 수 있지만 JavaScript 코드가 다음과 같은 경우에만 가능합니다.
onclick="var Omega = 'Ω';
alert(Omega)"
또는script
XML 콘텐츠 유형에 게재 된 XHTML (또는 XHTML +의 XML) 문서 내의 요소입니다.이 경우 코드가 먼저 (JavaScript 인터프리터로 전달되기 전에) HTML 구문 분석기로 구문 분석되어 문자 참조가 Ω
가 인식됩니다. 제한 사항으로 인해 대부분의 경우이 방법이 실용적이지 않습니다.
다음과 같이 Ω 문자를 입력 할 수도 있습니다. var Omega = 'Ω'
있지만 문자 인코딩이이를 허용하고 인코딩을 올바르게 선언해야하며 이러한 문자를 입력 할 수있는 소프트웨어가 필요합니다. 이것은 깨끗한 솔루션이며 모든 것에 UTF-8 인코딩을 사용하고 그로 인해 발생한 문제를 처리 할 준비가되어 있다면 실현 가능합니다. 소스 코드를 읽을 수 있고 읽을 때 코드 표기법 대신 문자 자체를 즉시 볼 수 있습니다. 반면에 다른 사람들이 코드 작업을 시작하면 놀라움을 줄 수 있습니다.
\u
에서와 같이 표기법을 사용하면 var Omega = '\u03A9'
문자 인코딩과 독립적으로 작동하며 실제로 거의 보편적입니다. 그러나 U + FFFF까지만 사용할 수 있습니다. 즉 \uffff
, 대부분의 사람들이 들어 본 대부분의 문자는 해당 영역에 속합니다. "더 높은"문자가 필요한 경우 서로 게이트 쌍 또는 위의 두 가지 접근 방법 중 하나를 사용해야합니다.
String.fromCharCode()
메소드를 사용하여 문자를 구성 할 수 있으며 , 유니 코드 번호를 10 진수로 var Omega = String.fromCharCode(937)
또는 16 진수로 매개 변수로 전달할 수 var Omega = String.fromCharCode(0x3A9)
있습니다. 이것은 U + FFFF까지 작동합니다. 변수에 유니 코드 번호가있는 경우에도이 방법을 사용할 수 있습니다.
U+FFFF
범위 밖에서 사용 합니다. 자바 스크립트도 있으므로이를 수행 할 수 있습니다. var poop = '\u{1F4A9}';
var lock = '\u{1F512}'
그리고 당신은 이것을 얻습니다 : 🔓
답은 정확하지만 변수를 선언 할 필요는 없습니다. 문자열은 당신의 캐릭터를 포함 할 수 있습니다 :
"This string contains omega, that looks like this: \u03A9"
불행히도 여전히 ASCII의 코드는 UTF-8을 표시하는 데 필요하지만 UTF-8이 ASCII와 같을 날을 여전히 기다리고 있습니다 (아수 년이 지나서야 ...). ASCII는 과거.
\u{1F641}
= 🙁
var Omega = "Ω";
너무 간단합니까?