摸索过程中,看见这样的字符:"/155",用来代替字符"m"。为什么?....完全不知道原因,整个人顿时慌了!可别说自己4年的经验了!"/155"和"m"是全等的,到现在,2011年了我才知道,深感惭愧!
对于字符转义,常见的大概如下:
"/u5230" ==> "到"
"/t" ==> horizontal tab "/u0009"
"//" ==> backslash "/u005C"
"/x35" ==> "5"
....
155由8进制转为 10进制为 1*64+5*8+5=109
String.fromCharCode(109)==="m"
8进制或16进制转义字符 总共有256个
16进制转义字符 固定格式为(2位数):
/x HexDigit HexDigit
8进制可以有1-3位数,最大为 "/377" ,在ECMA 262V5 里没有找到相关介绍,猜想 求得String value (SV)的方式为以下步骤:
1:得到character values (CV)的长度值为len
2:len=Math.min(len,3)
3:查看转义符后的长度为len的字符,是否符合8进制,符合到第5步,否则第4步
4:len--,到第3步
5:转换得到相应字符s0与len位后的字符相接
"/1568a" ="n8a"
"/0578a" ="/8a"