摘要:字符的表示法中允許采用的形式表示一個(gè)字符,其中表示字符的碼點(diǎn)。如下這種表示有區(qū)間只能在之間,如果超出則需要用雙字節(jié)的的形式表示在中,對(duì)字符串的寫(xiě)法做出了改變。
1. 字符的 Unicode 表示法
</>復(fù)制代碼
Javascript 中允許采用 uxxxx的形式表示一個(gè)字符,其中xxxx表示字符的Unicode碼點(diǎn)。如下
</>復(fù)制代碼
"u0061"
</>復(fù)制代碼
這種 表示有區(qū)間 只能在 0000 ~ FFFF之間,如果超出則需要用雙字節(jié)的的形式表示
</>復(fù)制代碼
"u20BB7uDFB1"
</>復(fù)制代碼
在ES6中,對(duì)字符串的寫(xiě)法做出了改變。改為將碼點(diǎn)放入大括號(hào)中,就能正確讀取該字符,如下:
</>復(fù)制代碼
"u{20BB7}" // 吉
2. codePointAt()
</>復(fù)制代碼
Javascript內(nèi)部,字符以 UTF-16的格式存儲(chǔ),每個(gè)字符固定為2個(gè)字節(jié)。對(duì)于需要4個(gè)字節(jié)儲(chǔ)存的字符,JavaScript會(huì)認(rèn)為它們是兩個(gè)字符。如下:
</>復(fù)制代碼
var s = "吉"
s.length // 2
s.charAt(0) // ""
s.charAt(1) // ""
s.charCodeAt(0) // 55362
s.charCodeAt(1) // 57271
上面代碼中漢字吉 需要4個(gè)字節(jié)存儲(chǔ),但是JavaScript不能正確處理,字符串長(zhǎng)度誤判為2,而且charAt 方法無(wú)法讀取字符,charCodeAt 只能返回前面兩個(gè)字節(jié)和后面兩個(gè)字節(jié)的值,ES6 提供了 codePointAt 方法能夠正確處理4個(gè)字節(jié)存儲(chǔ)的字符,返回一個(gè)字符的碼點(diǎn),如下:
</>復(fù)制代碼
let s = "吉a";
s.codePointAt(0) // 134071
s.codePointAt(1) // 57271
3. String.fromCodePoint()</>復(fù)制代碼
codePointAt() 方法是測(cè)試一個(gè)字符由兩個(gè)字節(jié)還是四個(gè)字節(jié)組成的最簡(jiǎn)單的方法
</>復(fù)制代碼
ES5 提供了 String.fromCharCode 方法 用于從碼點(diǎn)返回對(duì)應(yīng)字符,但是不能識(shí)別32位的UTR-16字符,ES6提供了 Sring.fromCodePoint() 方法 可以識(shí)別大于32位的。如果有多個(gè)參數(shù)則將合并。如下:
</>復(fù)制代碼
String.fromCodePoint(0x20BB7)
// "
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103691.html
摘要:循環(huán)遍歷對(duì)象自身的和繼承的可枚舉屬性不含屬性。返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性的鍵名。目前,只有對(duì)象方法的簡(jiǎn)寫(xiě)法可以讓引擎確認(rèn),定義的是對(duì)象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 屬性的簡(jiǎn)潔表示法 在ES6中 允許直接寫(xiě)入變量和函數(shù),作為對(duì)象的屬性和方法,使得代碼的書(shū)寫(xiě)更為簡(jiǎn)潔。...
摘要:屬性的簡(jiǎn)潔表示法在中允許直接寫(xiě)入變量和函數(shù),作為對(duì)象的屬性和方法,使得代碼的書(shū)寫(xiě)更為簡(jiǎn)潔。循環(huán)遍歷對(duì)象自身的和繼承的可枚舉屬性不含屬性。返回一個(gè)數(shù)組,包含對(duì)象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡(jiǎn)潔表示法 在ES6中 允許直接寫(xiě)入變量...
摘要:正則的擴(kuò)展參數(shù)為字符串,那么第二個(gè)參數(shù)表示正則表達(dá)式的修飾符,如下等價(jià)于參數(shù)為一個(gè)正則表達(dá)式,這時(shí)返回一個(gè)原有正則表達(dá)式的拷貝。如下調(diào)用調(diào)用調(diào)用調(diào)用修飾符對(duì)正則表達(dá)式添加了修飾符,用來(lái)正確處理大于的字符。 showImg(https://segmentfault.com/img/bVbrJqm?w=800&h=1200); 1. 正則的擴(kuò)展 參數(shù)為字符串, 那么第二個(gè)參數(shù)表示正則表達(dá)式...
showImg(https://user-gold-cdn.xitu.io/2019/5/22/16adcec448a45d82); 1. Object.is() 用來(lái)解決在ES5中 兩種相等運(yùn)算符的缺點(diǎn)。用來(lái)比較兩個(gè)值是否嚴(yán)格相等,行為和(===)基本一致。 在ES5中判斷兩個(gè)值是否相等,只能用(==)相等運(yùn)算符和(===)嚴(yán)格相等運(yùn)算符,但是這兩貨都有缺點(diǎn),前者 兩邊的值都會(huì)轉(zhuǎn)換數(shù)據(jù)類(lèi)型,...
閱讀 1968·2021-10-11 10:59
閱讀 1081·2021-09-07 09:59
閱讀 2259·2021-08-27 16:17
閱讀 2820·2019-08-30 15:54
閱讀 2298·2019-08-30 12:58
閱讀 1806·2019-08-30 12:53
閱讀 1499·2019-08-28 18:13
閱讀 759·2019-08-26 13:35