在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 淺談 JavaScript 字符集
淺談 JavaScript 之事件綁定
淺談 javascript 中字符串 String 與數(shù)組 Array
淺談 javascript 中基本包裝類型
淺談 JavaScript Math 和 Number 對象
淺談 Javascript 的靜態(tài)屬性和原型屬性
淺談 JavaScript 中定義變量時有無 var 聲明的區(qū)別
淺談 JavaScript Array 對象
淺談 JavaScript 函數(shù)參數(shù)的可修改性問題
淺談 javascript 中的 instanceof 和 typeof
淺談 JavaScript 中 Date (日期對象),Math 對象
淺談 Javascript 執(zhí)行順序
淺談 javascript 函數(shù)屬性和方法
淺談 JavaScript 中面向?qū)ο蠹夹g(shù)的模擬
淺談 javascript 的原型繼承
淺談 javascript 事件取消和阻止冒泡
根據(jù)一段代碼淺談 Javascript 閉包
淺談 Javascript 面向?qū)ο缶幊?/span>
淺談 javascript 六種數(shù)據(jù)類型以及特殊注意點
淺談 Javascript 變量作用域問題
淺談 javascript 函數(shù)內(nèi)部屬性
淺談 javascript 中自定義模版
淺談 JavaScript 字符集
淺談 javascript 面向?qū)ο缶幊?/span>
淺談 JavaScript 框架分類
淺談 JavaScript 中的 Math.atan() 方法的使用
淺談 Javascript 數(shù)組與字典
淺談 JavaScript 數(shù)據(jù)類型及轉(zhuǎn)換
淺談 javascript 的調(diào)試
淺談 Javascript 嵌套函數(shù)及閉包
淺談 javascript 回調(diào)函數(shù)
淺談 JavaScript Date 日期和時間對象
淺談 Javascript 中的 Function 與 Object
淺談 JavaScript 數(shù)據(jù)類型
淺談 javascript 中 this 在事件中的應(yīng)用
淺談 javascript 中的閉包
淺談 javascript 函數(shù)劫持
淺談 Javascript 中深復制
淺談 JavaScript 函數(shù)節(jié)流
淺談 JavaScript 中的 String 對象常用方法
淺談 JavaScript 事件的屬性列表
淺談 JavaScript 函數(shù)與棧
淺談 JavaScript 的事件
淺談 javascript 中的作用域
淺談 JavaScript 的執(zhí)行效率
淺談 Javascript 事件模擬
淺談 JavaScript function 函數(shù)種類
淺談 javascript 歸并方法
淺談 javascript 迭代方法
淺談 JavaScript 編程語言的編碼規(guī)范
淺談 JavaScript 實現(xiàn)面向?qū)ο笾械念?/span>
淺談 Javascript 鼠標和滾輪事件
淺談 Javascript Base64 加密解密
淺談 Javascript 中勻速運動的停止條件
淺談 javascript 實現(xiàn)八大排序
淺談 javascript 的分號的使用
淺談 javascript 中 createElement 事件
淺談 javascript 的數(shù)據(jù)類型檢測
淺談 javascript 對象模型和 function 對象
淺談 Javascript 如何實現(xiàn)勻速運動
淺談 JavaScript 字符串與數(shù)組
淺談 javascript 面向?qū)ο蟪绦蛟O(shè)計
淺談 Javascript 事件處理程序的幾種方式

淺談 JavaScript 字符集

JavaScript 是區(qū)分大小寫的:

關(guān)鍵字、變量、函數(shù)名、和所有的標識符都必須采用一致的大小寫 (一般我們都是寫成小寫的),這樣和當初學 C# 的多樣式寫法有很大的區(qū)別。

比如:(這里以變量 str 和 Str 為例)

var str='abc';  
var Str='ABC';  
alert(str);// 輸出 abc  

http://wiki.jikexueyuan.com/project/brief-talk-js/images/2.png" alt="" />

假如 str 與 Str 為同一變量,那么 alert(str);輸出的結(jié)果應(yīng)為為 ABC 而不是如上圖所示 abc。這恰恰說明:JavaScript 是區(qū)分大小寫的。

Unicode 轉(zhuǎn)義序列

Unicode 字符集的出現(xiàn)是為了彌補 ASCII 碼只能表示 128 個字符的限制,而日常中我們想顯示漢字和日文的話,顯然 ASCII 是不可能的了。所以說 Unicode 是 ASCII 和 Latin-1 的超集。首先,JavaScript 程序都是用 Unicode 字符集編寫而成的,但在一些計算機硬件和軟件里根本無法完整地顯示或者輸入 Unicode 字符全集 (比如:é),為了解決這一現(xiàn)象 JavaScript 定義了一種特殊序列,這種序列使用 6 個 ASCII 字符來代表任意 16 位 Unicode 內(nèi)碼,這種特殊序列統(tǒng)稱為 Unicode 轉(zhuǎn)義序列,它均以\ u 為前綴,其后跟隨 4 個十六進制數(shù)

比如:

var str='caf\u00e9';  
var Str='café';  
alert(Str+' '+str);// 可以看出顯示都是一樣的效果。  
alert (Str===str);// 輸出 true  

http://wiki.jikexueyuan.com/project/brief-talk-js/images/3.png" alt="" />

http://wiki.jikexueyuan.com/project/brief-talk-js/images/4.png" alt="" />

但我們應(yīng)該注意一點,Unicode 是允許多種方法對同一字符進行編碼的,用上述的 é 轉(zhuǎn)義的例子來說明:

é:

  1. 可以使用 Unicode 字符\ u00E9 表示

  2. 亦可用 e\u0301(語調(diào)字符)表示
var str='caf\u00e9';  
var Str='cafe\u0301';  
alert(str+' '+Str); // 如下圖所示, Str 和 str 所輸出的結(jié)果都是一樣的  
alert(Str===str); // 結(jié)果是一樣的, 可它們的二進制編碼表示根本不一樣,所以輸出 false  

雖然顯示在文本編輯器上的結(jié)果是一樣的,可是它們的二進制編碼表示根本不一樣,而編程語言最終都會轉(zhuǎn)化為本地平臺的計算機機械碼(二進制編碼),計算機只能通過對二進制編碼的比較才能得知結(jié)果,所以它們比較最終的結(jié)果只能是 false。

所以這正是 “Unicode 是允許多種方法對同一字符進行編碼的” 最好的解釋,因為 Unicode 標準為所有字符定義了一個首選的編碼格式以便于將文本轉(zhuǎn)化成統(tǒng)一格式的 Unicode 轉(zhuǎn)義序列以合適比較

再次以 é 為例:

比較 facé 與 café 中的 é 是否相同?

facé 與 café 中的 é 都轉(zhuǎn)化為\ u00E9 或者都轉(zhuǎn)化為 e\u0301,才能比較 facé 與 café 中的 é。