JavaScript读书笔记(二)文本

参照内容来自《JavaScript权威指南》

字符串的定义

字符串(string)是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。JavaScript通过字符串类型来表示文本。

JavaScript采用UTF-16编码的Unicode字符集。最常用的Unicode字符都是通过16位的内码表示,并代表字符串中的单个字符,那些不能表示为16位的Unicode字符则遵循UTF-16编码规则——用两个16位值组成的一个序列(亦称做“代理项对”)表示。

即Unicode字符可能有两种表示方法:

(1)如果Unicode字符能表示16位,则使用一个16位的内码,表示字符串中的单个字符。

(2)如果Unicode字符不能表示为16位,则遵循UTF-16编码规则,使用两个16位值组成的一个序列来表示。这意味着一个长度为2的JavaScript字符串(两个16位值)有可能表示一个Unicode字符。

例如:

var p = "π"; //π(一个Unicode字符)由16位内码表示

var e = "e"; // e(一个Unicode字符)由17位内码表示(即该Unicode字符不能表示为16位)

p.length // => 1: p包含一个16位值,即单个字符

e.length // => 2: e通过UTF-16编码后包含两个16位值,即一个JavaScript字符串

JavaScript定义的各式字符串操作方法均作用于16位值,而非字符,也不作用于上述提及的用两个16位值组成的一个序列(即不作用于代理项对)。

总结:

一个16位内码(或者通过UTF-16编码后包含两个16位值的一个序列)


单个Unicode字符


单个字符(或者两个字符)


JavaScript字符串


文本


字符串的使用

字符串的连接:使用+进行连接。例如:var a = “A” + “apple”;

计算字符串的长度:即计算其所包含的16位值的个数,不是计算其所包含Unicode字符的个数,可利用length属性。例如:a.length

访问字符串:使用charAt()方法,或者使用[ ]访问字符串中的单个字符(16位值),例如:var a = “A” + “apple”;而a[0]即为A。

注:

在JavaScript中字符串是固定不变的,很多似乎修改了字符串的方法(例如replace()和toUpperCase())其实是返回新字符串,原字符串本身并没有发生改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值