【前端自学之路】JS之字符串string

Javascript 字符串

什么是字符串

单引号或双引号标识的字符序列

关于字符串的标准格式见此

1
2
var name = 'Bill Gates';
var teacher = "Mark";

字符串的属性

length 代表字符串中字符个数

1
2
3
4
5
6
7
8
9
10
11
var name = 'Bill Gates';
// name.length 是 10
console.log(name.length);

var teacher = "Mark";
// teacher.length 是 4
console.log(teacher.length);

var country = ''
// country.length 是 0
console.log(country.length);

字符串的元素访问

[] 通过下表索引访问到字符串元素,和数组类似,数组的详解见此

1
2
3
4
5
6
7
var name = 'Bill Gates'

// 下标 0 代表字符串第一个字符元素 B
name[0]

// 下标 4 代表字符串第五个字符元素 G
name[5]

计算机大部分变成语言序列的下标索引都是从 0 开始

下标索引范围也是从 0 1 2 3 … name.lenght -1

最小的下标索引是 0 代表第一个元素
最大的下标索引是 name.length -1 代表最后一个元素

字符串常见的方法

indexOf
函数功能:判断字符串是否在源字符串中是否存在
参数: 待字符串
返回值:如果找到,则返回下表索引,否则返回 -1
字符串本身不受影响

1
2
3
4
5
6
var name = 'Hello, world and Bill';
// 输出 13 , 因为 'and' 在name所代表的字符串中第一次出现的起始下标是 13
console.log(name.indexOf('and'));

// 输出 -1 , 因为没有找到
console.log(name.indexOf('dna'));

split
函数功能:将字符串转变成数组
参数: 分隔符
返回值:生成的数组
字符串本身不受影响

1
2
3
4
5
6
7
var name = 'Javascript';

// ['J', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
console.log(name.split(''));

// ['J', 'v', 'script']
console.log(name.split('a'));

split 和 数组的join 是相反的操作

substr substring

两个函数方法功能类似,区别是参数的意义不一样

我们先以 substr 讲:
函数功能:获取子字符串
参数: 起始下标索引,字符个数
返回值:获取的子字符串
字符串本身不受影响

1
2
3
4
5
6
7
var name = 'Javascript';

// 'ava'
console.log(name.substr(1, 3));

// 'av'
console.log(name.substring(1, 3));

substr参数是 起始下标索引,字符个数, 所以 name.substr(1, 3) 是 ava
substring 参数是 起始下标索引,结尾下标索引(不包含结尾下标索引的元素),所以是 av

replace
函数功能:字符串替换操作
参数: 被替换的字符,以及待替换的字符
返回值:替换后的字符串
字符串本身不受影响

1
2
3
4
var name = 'Javascript';

// 输出 J1vascript
console.log(name.replace('a', '1'));
坚持原创技术分享,谢谢鼓励我继续创作!