字符串

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']