欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript字符串的長(zhǎng)度問題

 更新時(shí)間:2023年02月10日 10:09:10   作者:誤念  
這篇文章主要介紹了JavaScript字符串的長(zhǎng)度問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

字符串的長(zhǎng)度 length

描述:JavaScript提供了一系列方法,來幫助我們更好的使用字符串

1.測(cè)量字符串長(zhǎng)度:length屬性

描述:length屬性返回字符串的長(zhǎng)度和字符串的個(gè)數(shù)

語(yǔ)法:字符串變量名.length

?? ?var i = "你好";
?? ?var result = i.length;
?? ?console.log(result);

2.字符索引:[]方法

描述:字符串后面接中括號(hào),中括號(hào)中寫數(shù)字,能夠訪問字符串中的所有個(gè)數(shù)

語(yǔ)法:字符串變量名[]

?? ?var i = ["寶馬","法拉利","蘭博基尼"];
?? ?var c = i[1];
?? ?console.log(c);

3.獲取指定位置字符:charAt()方法和CharCodeAt()方法

描述:charAt()方法和CharCodeAt()兩者都是表示獲取指定位置的字符

  • charAt()

描述:根據(jù)指定位置的索引返回具體的字符

?? ?var i = 'niHaoWoShi';
?? ?var j = i.charAt(2);
?? ?console.log(i.charAt(2));
  • CharCodeAt()

描述:返回的是字符對(duì)應(yīng)的Unicode編

注意:如果charCodeAt返回的值是:負(fù)數(shù)或大于字符串的長(zhǎng)度則會(huì)返回的值是NaN

?? ?var j = i.charCodeAt(2);
?? ?console.log(j);

4.字符串連接:concat()方法

描述:concat()方法能夠?qū)⒍鄠€(gè)字符串連接起來,合成一個(gè)新的字符串

語(yǔ)法:字符串變量1.concat(字符串變量2,字符串變量3);

?? ?var str = 'niHaoWoShi';
?? ?var str2 = 'hello';
?? ?var str3 = 'sxt';
?? ?var i = str.concat(str2,str3);
?? ?console.log(i);

JavaScript字符串長(zhǎng)度返回錯(cuò)誤的原因

JavaScript 使用 Unicode 字符集。JavaScript 引擎內(nèi)部,所有字符都用 Unicode 表示。

每個(gè)字符在 JavaScript 內(nèi)部都是以16位(即2個(gè)字節(jié))的 UTF-16 格式儲(chǔ)存。也就是說,JavaScript 的單位字符長(zhǎng)度固定為16位長(zhǎng)度,即2個(gè)字節(jié)。

但是,UTF-16 有兩種長(zhǎng)度:對(duì)于碼點(diǎn)在U+0000到U+FFFF之間的字符,長(zhǎng)度為16位(即2個(gè)字節(jié));對(duì)于碼點(diǎn)在U+10000到U+10FFFF之間的字符,長(zhǎng)度為32位(即4個(gè)字節(jié))。

JavaScript 對(duì) UTF-16 的支持是不完整的,由于歷史原因,只支持兩字節(jié)的字符,不支持四字節(jié)的字符。

'??'.length // 2

上面代碼中,JavaScript 認(rèn)為??的長(zhǎng)度為2,而不是1。

總結(jié)一下,對(duì)于碼點(diǎn)在U+10000到U+10FFFF之間的字符,JavaScript 總是認(rèn)為它們是兩個(gè)字符(length屬性為2)。所以處理的時(shí)候,必須把這一點(diǎn)考慮在內(nèi),也就是說,JavaScript 返回的字符串長(zhǎng)度可能是不正確的。

ES6加強(qiáng)了對(duì)unicode的支持,以前必須拆分成2個(gè)2字節(jié)unicode碼表示的字符,現(xiàn)在可以用大括號(hào)括起來,直接用一個(gè)碼點(diǎn)表示。

'\u{1F680}' === '\uD83D\uDE80'
// true

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS中判斷null、undefined與NaN的方法

    JS中判斷null、undefined與NaN的方法

    這篇文章主要介紹了JS中判斷null、undefined與NaN的方法,需要的朋友可以參考下
    2014-03-03
  • JS中FormData類實(shí)現(xiàn)文件上傳

    JS中FormData類實(shí)現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了JS中FormData類實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JavaScript對(duì)象解構(gòu)的用法實(shí)例解析

    JavaScript對(duì)象解構(gòu)的用法實(shí)例解析

    解構(gòu)賦值允許你使用類似數(shù)組或?qū)ο笞置媪康恼Z(yǔ)法將數(shù)組和對(duì)象的屬性賦給各種變量,下面這篇文章主要給大家介紹了關(guān)于JavaScript對(duì)象解構(gòu)用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Bootstrap輪播圖的使用和理解4

    Bootstrap輪播圖的使用和理解4

    這篇文章主要為大家詳細(xì)介紹了關(guān)于Bootstrap輪播圖的使用和理解的學(xué)習(xí)記錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript防抖與節(jié)流的實(shí)現(xiàn)與注意事項(xiàng)

    JavaScript防抖與節(jié)流的實(shí)現(xiàn)與注意事項(xiàng)

    防抖和節(jié)流嚴(yán)格算起來應(yīng)該屬于性能優(yōu)化的知識(shí),但實(shí)際上遇到的頻率相當(dāng)高,處理不當(dāng)或者放任不管就容易引起瀏覽器卡死,下面這篇文章主要給大家介紹了關(guān)于JavaScript防抖與節(jié)流的實(shí)現(xiàn)與注意事項(xiàng),需要的朋友可以參考下
    2022-03-03
  • js函數(shù)setTimeout延遲執(zhí)行的簡(jiǎn)單介紹

    js函數(shù)setTimeout延遲執(zhí)行的簡(jiǎn)單介紹

    設(shè)置指定的JS函數(shù)在指定的時(shí)間后執(zhí)行,可以利用setTimeout()函數(shù)。
    2013-07-07
  • js中判斷控件是否存在

    js中判斷控件是否存在

    在動(dòng)態(tài)頁(yè)面中,頁(yè)面中包含一些動(dòng)態(tài)產(chǎn)生的控件,在有些情況下需要判斷動(dòng)態(tài)生成的控件是否存在。
    2010-08-08
  • Web網(wǎng)站都變成灰色有哪些方法可以快速實(shí)現(xiàn)(解決方案)

    Web網(wǎng)站都變成灰色有哪些方法可以快速實(shí)現(xiàn)(解決方案)

    有些時(shí)候我們需要把網(wǎng)站頁(yè)面變成黑白色或灰色,特別是對(duì)于一些需要悼念的日子,以及一些影響力很大的偉人逝世或紀(jì)念日的時(shí)候,都會(huì)讓網(wǎng)站的全部網(wǎng)頁(yè)變成灰色(黑白色),以表示我們對(duì)逝者或者英雄的緬懷和悼念
    2022-12-12
  • JS設(shè)計(jì)模式之觀察者模式實(shí)現(xiàn)實(shí)時(shí)改變頁(yè)面中金額數(shù)的方法

    JS設(shè)計(jì)模式之觀察者模式實(shí)現(xiàn)實(shí)時(shí)改變頁(yè)面中金額數(shù)的方法

    這篇文章主要介紹了JS設(shè)計(jì)模式之觀察者模式實(shí)現(xiàn)實(shí)時(shí)改變頁(yè)面中金額數(shù)的方法,結(jié)合實(shí)例形式對(duì)比分析了javascript基于觀察者模式實(shí)時(shí)改變頁(yè)面金額數(shù)的相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • js根據(jù)后綴判斷文件文件類型的代碼

    js根據(jù)后綴判斷文件文件類型的代碼

    這篇文章主要介紹了js根據(jù)后綴判斷文件文件類型的代碼,原來是獲取文件的擴(kuò)展名然后再判斷屬于什么類型,對(duì)于圖片多個(gè)后綴的判斷的實(shí)現(xiàn)也不是不錯(cuò)的思路,大家可以參考一下
    2020-05-05

最新評(píng)論