字符串
String类型用于由零或多个16位Unicode字符组成的字符序列,即字符串。字符串用于表示文本信息,由双引号或单引号表示。
var firstName = "Java";
var lastName = 'Script';
字符字面量
在运用的过程中会发现填写一些字符会有些困难,例如在引号里放引号,同时字符串只能在一行,换号符也无法放进引号之间。在Sring数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印或者特殊用途的字符。常用的字符字面量有:
字面量 | 含义 |
---|---|
\n | 换行 |
\ | 斜杠 |
' | 单引号 |
" | 双引号 |
var aa = "This is this first line\nAnd this is the second"
//"This is this first line
//And this is the second"
转为字符串
toString()
与 String()
数值、布尔值、对象和字符串都有toString()
方法,但 null 和 undefined 没有。在调用数值的时候,可以产地一个参数:输出数值的基数。默认情况下返回十进制的字符串表示,通过基数,可以输出二进制、八进制。
var num = 10;
var tmp = true;
tmp.toString() // "true"
num.toString() // "10"
num.toString(2) // "1010"
num.toString(8) // "12"
num.toString(10) // "10"
num.toString(16) // "a"
在不知道转换类型的值是不是 null 或者 undefined 的情况下,可以使用String()
。String()
规则:如果其值有toString()
方法,如果是null,则返回"null",如果是undefined,则返回"undefined"。
var num = 10;
var tmp = true;
var val_1 = null;
var val_2;
String(num); // "10"
String(tmp); // "true"
String(val_1); // "null"
String(val_2); // "undefined"
字符串操作
长度 length
var str = "hello,world";
str.length; // 11
获取 charAt
var str = "hello,world";
str.charAt(1); // h
str.charAt(11); // d
str.charAt(15); // ""(空)
截取 slice、substring、substr
substring(m,n)、substr(m,n) 的第二个参数n为负数时候会自动转化为 0。slice(m,n)、substring(m,n) 第二个参数 n 指的是截取字符串结束的位置,而substr(m,n)是截取字符串的长度。
var str = "hello,world";
str.slice(1,-1); // ello,worl
str.substring(1,-1); // h
str.substr(1,-1); // ''(空)
替换 replace
var str="Visit Microsoft!";
str.replace(/Microsoft/, "AitSchool"); // Visit Aitschool!
位置 indexOf
定义字符"l"从第 3 位开始(包含第 3 位)首次出现的位置
var str = "hello,word";
str.indexOf("l",3); // 3
大小写 toUpperCase、toLowerCase
var str = "Hello,word";
str.toUpperCase(); // HELLO,WORD
str.toLowerCase(); // hello,word
字符串转数组 split
var str = "1|2|3";
var arr = str.split('|'); // ['1','2','3']