Saya harus memasukkan Omega (Ω) ke halaman html saya. Saya menggunakan kode HTML-nya untuk melakukan itu, jadi saya bisa menulis Ω
dan mendapatkan Ω. Semua baik-baik saja dan baik ketika saya memasukkannya ke dalam elemen HTML; Namun, ketika saya mencoba untuk memasukkannya ke dalam JS saya, misalnya var Omega = Ω
, ia mem-parsing kode itu sebagai JS dan semuanya tidak berfungsi. Adakah yang tahu bagaimana caranya?
javascript
html
unicode
Api biru
sumber
sumber
var Omega = "Ω";
terlalu sederhana?Jawaban:
Saya menduga Anda benar-benar ingin
Omega
menjadi string yang mengandung omega huruf besar? Dalam hal ini, Anda dapat menulis:(Karena Ω adalah karakter Unicode dengan codepoint U + 03A9 ;
03A9
artinya937
, kecuali, ditulis sebagai empat digit heksadesimal.)sumber
Meskipun @ruakh memberikan jawaban yang baik, saya akan menambahkan beberapa alternatif untuk kelengkapan:
Anda sebenarnya bisa menggunakan bahkan
var Omega = 'Ω'
dalam JavaScript, tetapi hanya jika kode JavaScript Anda adalah:onclick="var Omega = 'Ω'; alert(Omega)"
atauscript
elemen di dalam dokumen XHTML (atau XHTML + XML) yang disajikan dengan tipe konten XML.Dalam kasus ini, kode akan menjadi yang pertama (sebelum diteruskan ke penerjemah JavaScript) diurai oleh parser HTML sehingga referensi karakter seperti
Ω
dikenali. Pembatasan menjadikan ini pendekatan yang tidak praktis dalam banyak kasus.Anda juga dapat memasukkan karakter Ω seperti itu, seperti dalam
var Omega = 'Ω'
, tetapi kemudian pengkodean karakter harus memungkinkan, pengkodean harus dinyatakan dengan benar, dan Anda memerlukan perangkat lunak yang memungkinkan Anda memasukkan karakter tersebut. Ini adalah solusi bersih dan cukup layak jika Anda menggunakan pengkodean UTF-8 untuk semuanya dan siap untuk menangani masalah yang diciptakannya. Kode sumber akan dapat dibaca, dan membacanya, Anda segera melihat karakter itu sendiri, bukan notasi kode. Di sisi lain, ini dapat menyebabkan kejutan jika orang lain mulai bekerja dengan kode Anda.Menggunakan
\u
notasi, seperti dalamvar Omega = '\u03A9'
, bekerja secara independen dari pengkodean karakter, dan dalam praktiknya hampir universal. Namun demikian dapat digunakan hanya hingga U + FFFF, yaitu hingga\uffff
, tetapi sebagian besar karakter yang kebanyakan orang pernah dengar jatuh ke daerah itu. (Jika Anda membutuhkan karakter "lebih tinggi", Anda perlu menggunakan pasangan pengganti atau salah satu dari dua pendekatan di atas.)Anda juga dapat membangun karakter menggunakan
String.fromCharCode()
metode, meneruskan sebagai parameter nomor Unicode, dalam desimal seperti dalamvar Omega = String.fromCharCode(937)
atau dalam heksadesimal seperti padavar Omega = String.fromCharCode(0x3A9)
. Ini berfungsi hingga U + FFFF. Pendekatan ini dapat digunakan bahkan ketika Anda memiliki nomor Unicode dalam suatu variabel.sumber
U+FFFF
jangkauan. JavaScript juga punya, jadi Anda bisa melakukan ini.var poop = '\u{1F4A9}';
var lock = '\u{1F512}'
Dan Anda mendapatkan ini: 🔓Jawabannya benar, tetapi Anda tidak perlu mendeklarasikan variabel. String dapat berisi karakter Anda:
Sayangnya masih kode-kode di ASCII diperlukan untuk menampilkan UTF-8, tapi saya masih menunggu (sejak bertahun-tahun ...) hari ketika UTF-8 akan sama dengan ASCII, dan ASCII hanya akan menjadi kenangan akan lalu.
sumber
\u{1F641}
= 🙁