String类型表示由0或多个16位Unicode字符组成的字符序列,即字符串。ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串(此过程是在后台发生的),然后再用另一个包含新值的字符串填充该变量
字符字面量/转义序列:
\n 换行 \t 制表 \r 回车 \b 空格 \f 换页符 \\ 斜杠 \' 单引号 \" 双引号 \xnn \unnn
字符串转换:两个方法
1.toString():只有null和undefined没有这个方法。
每个字符串也都有一个toString()方法,该方法返回字符串的一个副本。多数情况下,调用toString()方法不必传递参数,但是,在调用数值的toString()方法时,可以传递一个参数:输出数值的基数。这个方法唯一要做的就是返回相应值的字符串表示。
var num = 10; console.log(num.toString());//"10" console.log(num.toString(2));//"1010"
2.String():适用于所有类型,遵循以下规则
如果值有toString()方法,则调用该方法(没有参数)并返回相应结果
如果值是null,则返回"null"
如果值是undefined,则返回"undefined"
示例
字符串是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。
var i = "abcdefg";
在JavaScript字符串中,反斜线\有着特殊的用途,反斜线符号后加一个字符,就不再表示它们的字面含义了,不如\n就是一个转义字符,它表示一个换行符。
'You\'re right, it can\'t be a quote'
JavaScript的内置功能之一就是字符串连接:
msg = "Hello, " "world";
字符串的length属性可以查看字符串的长度:
s.length
除了length属性, 字符串还提供许多可以调用的方法:
var s = "hello, world" //定义一个字符串 s.charAt(0) // => "h" 第一个字符 s.charAt(s.length-1) // => "d" 最后一个字符 s.substring(1, 4) // => "ell" 第2-4个字符 s.slice(1,4) // => "ell" 同上 s.slice(-3) // => "rld": 最后三个字符 s.indexOf("l") // => 2 字符l首次出现的位置 s.lastIndexOf("l") // => 10: 字符l最后一次出现的位置 s.indexOf("l", 3) // => 在位置3及之后首次出现字符l的位置 s.split(",") // => ["hello", "world"]分割成子串 s.replace("h", "H") // => "Hello, world": 全文字符替换 s.toUpperCase() // => "HELLO WORLD"