String类型表示由0或多个16位Unicode字符组成的字符序列,即字符串。ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串(此过程是在后台发生的),然后再用另一个包含新值的字符串填充该变量 字符字面量/转义序列:
字符串转换:两个方法 1.toString():只有null和undefined没有这个方法。
每个字符串也都有一个toString()方法,该方法返回字符串的一个副本。多数情况下,调用toString()方法不必传递参数,但是,在调用数值的toString()方法时,可以传递一个参数:输出数值的基数。这个方法唯一要做的就是返回相应值的字符串表示。
2.String():适用于所有类型,遵循以下规则
如果值有toString()方法,则调用该方法(没有参数)并返回相应结果 如果值是null,则返回"null" 如果值是undefined,则返回"undefined"
示例
字符串是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。
在JavaScript字符串中,反斜线\有着特殊的用途,反斜线符号后加一个字符,就不再表示它们的字面含义了,不如\n就是一个转义字符,它表示一个换行符。
JavaScript的内置功能之一就是字符串连接:
字符串的length属性可以查看字符串的长度:
"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"