摸索過程中,看見這樣的字符:"\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"