JavaScript中String类型用于表示由零个或者多个16位Unicode字符组成的字符序列即字符串;同时字符串可以用单引号或双引号表示。
下面是一些特殊的字面量:
字面量 含义
\n 换行
\t 制表
\b 退格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号
\xnn 以十六进制代码nn表示的一个字符(其中n为0~F)。例如,\x41表示“A”
unnnn 以十六进制代码nnnn表示的一个UNcode字符(其中n为0~F)。例如,\u03a3表示希腊字符Εε
字符串特点:
字符串是不可变的,一旦创建,它们的值就不能再改变!要改变某个变量保存的字符串,只能先销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
字符串方法:
字符串转换方法:
数值、布尔值、对象和字符串值都有一个toString()方法;(undefined 和 null 值没有这个方法)
let num = 10;
//默认情况下toString() 方法以十进制的格式返回数值的字符串表示
num.toString() //"10"
//toString()可以通过传递基数,输出以二、八、十、十六进制乃至其他任意有效进制输格式表示的字符串
num.toString(2) //"1010"
num.toString(8) //"12"
num.toString(10) //"10"
num.toString(16) //"a" String()函数相对于toString()函数功能基本相同,但String()可以将null和undefined转换为字符串"null"和"undefined"
字符方法:
let str = "hello world";
计算字符串长度:
str.length() //11
根据字符串位置访问字符串:
str.charAt(1); //"e"
根据字符串位置输出字符编码:
str.charCodeAt(1) //"101"
字符串位置方法:
let str = "hello world";
从字符串中查找子字符串第一次出现的的位置:
str.indexOf("o"); //4
str.lastIndexOf("o") //7 同时这两个方法可以接受第二个参数,表示从哪个位置开始搜索子字符串:
str.indexOf("o", 6) //7
str.lastIndexOf("o", 6) //4
字符串操作方法:(不影响原字符串)
let str = " hello world ";
删除字符串前置及后缀的所有空格:
str = str.trim(); //"hello world" let str1 = "1", str2 = "2", str3 = "3";
串接多个字符串,concat()可以接受多个参数:
str1.concat(str2) //"12"
str1.concat(str2, str3, "4"); //"1234" 截取字符串方法:
根据开始和结束位置截取字符串:(只有一个参数时,默认截取到结尾)
str.slice(3); //"lo world";
str.substring(3); //"lo world";
str.slice(3, 7); //"lo w";
str.substring(3, 7); //"lo w"; 根据开始位置和截取字符长度截取字符串:(只有一个参数时,默认截取到结尾)
str.substr(3); //"lo world"
str.substr(3,7); //"lo worl" 字符串大小写转换方法:
str.toUpperCase();
str.toLocaleUpperCase();
str.toLowerCase();
str.toLocaleLowerCase(); 字符串模式匹配方法:
str.match(/o/); //["o", index: 4, input: "hello world", groups: undefined]
str.match("o")
str.search(/o/); //4
str.search("o")
str.replace(/o/,"0"); //"hell0 world"
str.replace("o", "0"); 字符串切割成字符串:
str.split(" "); //["hello", "world"] localeCompare()方法:(大于:1, 小于:-1, 等于: 0)(默认大写字母大于小写字母)
str.localeCompare("h") //1
str.localeCompare("i") //-1
str.localeCompare("hello world") //0 fromCharCode()方法:接收字符编码转为字符串
String.fromCharCode(104, 101, 108, 108, 111); //"hello"