基础4 JS-string类型

String类型

String 类型用于表示由于零或多个16 位Unicode 字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。
var box = 'Lee';
var box = "Lee";
PS:在某些其他语言(PHP)中,单引号和双引号表示的字符串解析方式不同,而ECMAScript 中,这两种表示方法没有任何区别。但要记住的是,必须成对出现,不能穿插使用,否则会出错。
var box = '李炎恢"; //出错
String 类型包含了一些特殊的字符字面量,也叫转义序列。
基础4 JS-string类型-搬砖酱的笔记
alert('Le\ne')
基础4 JS-string类型-搬砖酱的笔记
alert('\tLe\ne')
基础4 JS-string类型-搬砖酱的笔记
alert('\t\\L\'e\ne\"')
基础4 JS-string类型-搬砖酱的笔记
ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
var box = 'Mr.';
box = box + ' Lee';
toString()方法可以把值转换成字符串。
var box = 11;
var box = true;
alert(typeof box.toString());
toString()方法一般是不需要传参的,但在数值转成字符串的时候,可以传递进制参数。
var box = 10;
alert(box.toString()); //10,默认输出
alert(box.toString(2)); //1010,二进制输出
alert(box.toString(8)); //12,八进制输出
alert(box.toString(10)); //10,十进制输出
alert(box.toString(16)); //a,十六进制输出
如果在转型之前不知道变量是否是null 或者undefined 的情况下,我们还可以使用转型String(),这个函数能够将任何类型的值转换为字符串。
var box = null;
alert(String(box));
PS:如果值有toString()方法,则调用该方法并返回相应的结果;如果是null 或者undefined,则返回"null"或者"undeinfed"。

String 类型包含了三个属性和大量的可用内置方法。

基础4 JS-string类型-搬砖酱的笔记

String 也包含对象的通用方法,比如valueOf()、toLocaleString()和toString()方法,但这些方法都返回字符串的基本值。

基础4 JS-string类型-搬砖酱的笔记

var box = 'Mr.Lee';

alert(box.charAt(1)); //r

alert(box.charCodeAt(1)); //114

alert(box[1]); //r,通过数组方式截取

PS:box[1]在IE 浏览器会显示undefined,所以使用时要注意。

基础4 JS-string类型-搬砖酱的笔记

var box = 'Mr.Lee';

alert(box.concat(' is ', ' Teacher ', '!')); //Mr.Lee is Teacher !

alert(box.slice(3)); //Lee

alert(box.slice(3,5)); //Le

alert(box.substring(3)); //Lee

alert(box.substring(3,5)); //Le

alert(box.substr(3)); //Lee

alert(box.substr(3,5)); //Lee

var box = 'Mr.Lee';

alert(box.slice(-3)); //Lee,6+(-3)=3 位开始

alert(box.substring(-3)); //Mr.Lee 负数返回全部

alert(box.substr(-3)); //Lee,6+(-3)=3 位开始

var box = 'Mr.Lee';

alert(box.slice(3, -1)); //Le 6+(-1)=5, (3,5)

alert(box.substring(3, -1)); //Mr. 第二参为负,直接转0,

//并且方法会把较小的数字提前,(0,3)

alert(box.substr(3, -1)); //'' 第二参数为负,直接转0 ,(3,0)

PS:IE 的JavaScript 实现在处理向substr()方法传递负值的情况下存在问题,它会返回原始字符串,使用时要切记。

基础4 JS-string类型-搬砖酱的笔记

var box = 'Mr.Lee is Lee';

alert(box.indexOf('L')); //3

alert(box.indexOf('L', 5)); //10

alert(box.lastIndexOf('L')); //10

alert(box.lastIndexOf('L', 5)); //3,从指定的位置向前搜索

PS:如果没有找到想要的字符串,则返回-1。

基础4 JS-string类型-搬砖酱的笔记

var box = 'panbiao';

alert(box.toLowerCase()); //全部小写

alert(box.toUpperCase()); //全部大写

基础4 JS-string类型-搬砖酱的笔记

var box = 'Mr.Lee is Lee';

alert(box.match('L')); //找到L,返回L 否则返回null

alert(box.search('L')); //找到L 的位置,和indexOf 类型

alert(box.replace('L', 'Q')); //把L 替换成Q

alert(box.split(' ')); //以空格分割成字符串