javaScript入门-字符串
环境: Mac GoogleChorme
概述:
可使用 '' 或 "" ,在双引号的内部,可以再使用单引号。
由于Html属性值使用双引号,因为对于javaScript推荐使用单引号。从代码规范角度来说,不推荐单双引号同时使用。
'单引号' "双引号" "this is 'str' param" // 也可以使用单引号中套单引号,但要加反斜杠 \ 用来转义 'this is \'str\' param'
字符串若比较多,可使用换行符 \n 或者通过反斜杠 \ 来实现分行,比如:
var str = 'this is long \ long \ long \ string';
主要的转义字符有:
\0 :null(\u0000) \b :后退键(\u0008) \f :换页符(\u000C) \n :换行符(\u000A) \r :回车键(\u000D) \t :制表符(\u0009) \v :垂直制表符(\u000B) \' :单引号(\u0027) \" :双引号(\u0022) \\ :反斜杠(\u005C)
字符串与数组
javaScript使用length获取字符长度,它使用的unicode字符格式。因此要注意下:
'hello'.length // 5 '一二三四五'.length // 5 // 拓展下: 在lua中使用utf-8中文占用三个字节 /* local str = "一二三四五" print(string.len(str)) -- 15 */
字符串可以被认为是字符数组,注意javaScript数组索引是从0开始的
var str = 'hello' str[1] // e var strs = '零一二三' strs[0] // 零 // 若超过字符串长度,或者索引根本不是数字,返回undefined strs[99] // undefined str.xxx // undefined str['x'] // undefined
base64:
主要针对于于ASCII码尤其是0~31的符号无法打印。为此可使用base64编码转换为可以打印的符号。
base64就是一种编码方法,将任意值0~9,A~Z,a~z, +, -等字符转换后,用于简化程序的处理。常用的方法:
var str = 'javaScript' // btoa: 将ASCII字符转换为base64编码 btoa(str) // "amF2YVNjcmlwdA==" // atob: 将base64编码转换为原来的值 atob("amF2YVNjcmlwdA==") // "javaScript" // 以上方法不适用于中文字符串 btoa('中文') // The string to be encoded contains characters outside of the Latin1 range // 对中文要进行转码: encodeURIComponent,解码为decodeURIComponent var str = encodeURIComponent('中文') btoa(str) // "JUU0JUI4JUFEJUU2JTk2JTg3" atob("JUU0JUI4JUFEJUU2JTk2JTg3") // "%E4%B8%AD%E6%96%87" decodeURIComponent("%E4%B8%AD%E6%96%87") // "中文"
...

浙公网安备 33010602011771号