String数据类型包含着一些特殊的字符字面量,通常情况下,我们管这种字面量叫做转义序列,转义字符通常前面用\进行开头,转义序列用来表示非传统的文本字符,用来表示具有特殊用途的字符。这些字符字面量如下表所示:
值得注意的一点是,如果“\”字符位于没有在表中的字符前,则在最后解析会自动忽略“\”,不过虽然可以利用这种写法,但是这种写法的危险就是未来 ECMAScript 可能会定义新的转义符。比如,“\a”与“a”其实是相等的。
字符串的转义也可以出现在字符串的任意位置,虽然它的内容看起来很多,但是并不会以它的内容计算整个字符串的长度,而是以它的最终解析的内容来进行解析,例如:
这个例子中,我们可以看到变量text中一共包含了28个字符,其中最后的结尾是6个转义的字符长度,不过转义字符最终计算总长度时并不会计算它的原始长度,而是计算它的转义后长度,我们可以利用字符串的length属性来获取字符串长度,例如:
从结果中我们看到,text最后的长度为23,其中包含了22个非转义的字符,和1个经过转义的字符。不过如果字符串中包含双字节字符,那么length可能不会精确地返回字符串的字符数目。
本文原创,未经作者允许不可转载!
更多内容,欢迎关注作者微信公众号:李游Leo老师前端讲堂!
暂无评论
违反法律法规
侵犯个人权益
有害网站环境