首頁 > web前端 > js教程 > 主體

淺談JavaScript字元集_基礎知識

WBOY
發布: 2016-05-16 16:47:15
原創
1405 人瀏覽過

JavaScript是區分大小寫的:

關鍵字、變數、函數名稱、和所有的識別字都必須採用一致的大小寫(一般我們都是寫成小寫的),這樣和當初學C#的多樣式寫法有很大的差別。

例如:(這裡以變數str和Str為例)

複製程式碼 程式碼如下:

var str='abc';


var str='abc';

var str='abc';淺談JavaScript字元集_基礎知識alert(str);//輸出abc

假如str與Str為同一變量,則alert(str);,輸出的結果應為為ABC而非如上圖所示abc。這正好說明:JavaScript是區分大小寫的。

Unicode轉義序列

Unicode字元集的出現是為了彌補ASCII碼只能表示128個字元的限制,而日常中我們想顯示漢字和日文的話,顯然ASCII是不可能的了。所以說Unicode是ASCII和Latin-1的超集。首先,JavaScript程式都是用Unicode字元集編寫而成的,但在一些電腦硬體和軟體裡根本無法完整地顯示或輸入Unicode字元全集(例如:é),為了解決這一現象JavaScript定義了一種特殊序列,此序列使用6個ASCII字元來代表任意16位元Unicode內碼,這種特殊序列統稱為Unicode轉義序列,它皆以u為前綴,其後跟隨4個十六進位數字 例如:

複製程式碼


程式碼如下:
var str='cafu00e9'; ='café';

alert(Str ' ' str);// 可以看出顯示都是一樣的效果。 淺談JavaScript字元集_基礎知識alert (Str===str);//輸出true淺談JavaScript字元集_基礎知識

但我們應該注意一點,Unicode是允許多種方法對同一字元進行編碼的,用上述的é轉義的例子來說明:

é:

1.可以使用Unicode字元u00E9表示 2.亦可用eu0301(語調字符)表示
複製程式碼


程式碼如下:

var str='cafu00e9'; ='cafeu0301';alert(str ' ' Str); //如下圖所示,Str和str所輸出的結果都是一樣的

alert(Str===str); //結果是一樣的,可它們的二進位編碼表示根本不一樣,所以輸出false

雖然顯示在文字編輯器上的結果是一樣的,可是它們的二進位編碼表示根本不一樣,而程式語言最終都會轉換為本地平台的電腦機械碼(二進位編碼),電腦只能透過對二進位編碼的比較才能得知結果,所以它們比較最終的結果只能是false

所以這正是「Unicode是允許多種方法對相同字元進行編碼的」最好的解釋,因為Unicode標準為所有字元定義了一個首選的編碼格式以便於將文字轉換成統一格式的Unicode轉義序列以適當比較

再次以é為例:

比較facé與café中的é是否相同? facé與café中的é都轉化為u00E9或都轉換為eu0301,才能比較facé與café中的é
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板