Javascript 八进制转义字符(8进制)

  摸索过程中,看见这样的字符:"\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"