回顾
上一篇中我们聊了聊 js 中的数组对象,在数组对象中我们看到了关于 js 内置方法对数组进行处理,常用的push、pop等,除此之外还有对数组进行排序或者反转等方法,在往后的工作中是非常常用,所以需要熟练掌握。
这一篇来看看常用的字符串对象
字符串对象
基本包装类型
在 js 中提供了三个基本包装类型:String、Number、Boolean。一般在创建、赋值、销毁会经历三种顺序。
- 把简单数据类型包装为复杂数据类型
var temp = new String('andy')
- 把临时变量的值给str
str = temp
- 销毁这个临时变量
temp = null
注意:在上述的这种情况下,虽然看上去可以改变内容了,但是其实是地址变了,内存中开辟了一个新的空间。然后箭头指向了另一个空间,看上去值会发生变化。到最后 js 执行完会浏览器会执行垃圾清理机制 清理掉不用的变量释放内存空间
根据字符串返回位置
- indexOf 和 数组中的对象是相似的,如果没找到返回 -1,可以加上指定位置查找元素
// 字符串对象,根据字符返回位置 str.indexOf('要查找的字符', [起始的位置])
var str = '故事的小黄花'
console.log(str.indexOf('小'))
console.log(str.indexOf('小', [4])) // 从第4个开始,没找到返回-1
根据位置返回字符
-
charAt(index) 返回指定位置的字符(index 字符串的索引号)
-
charCodeAt(index) 获取指定位置处字符的ASCII码(index 索引号) - 判断用户按下了哪个键
// 根据位置返回字符
// 1、charAt(index) 根据位置返回字符
var str = 'andy'
console.log(str.charAt(2));
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i))
}
// 2、charCodeAt(index) 返回相应索引号的字符ACSCII值, 目的:判断用户按下了那个键
console.log(str.charCodeAt(0)) // 97
console.log(str[0]) // a
字符串操作方法
- concat(str1, str2) concat()方法用于连接两个或多个字符串,拼接字符串
// 1、str.concat('') 拼接字符串,但是一般都用 + 号
var str = 'andy'
console.log(str.concat('red'))
- substr(start, length) 从start位置开始(索引号),length取的个数
// 2、substr('截取的起始位置', '截取几个字符')
var str1 = '故事的小黄花'
console.log(str1.substr(2, 2)) // 的小
- replace(‘被替换的字符’, ‘替换为的字符’) 替换字符串
// 3、替换字符 replace('被替换的字符', '替换为的字符')
var str2 = 'andyandy'
console.log(str2.replace('a', 'b')) // 只能替换第一个
- split(‘分隔符’) 字符转换为数组
// 4、字符串转换为数组 split('分隔符') 前面学过 join 把数组转换为字符串
var str3 = 'red, pink, blue'
console.log(str3.split('&'))
- toUpperCase() 转换大写
// 5、toUpperCase 转换大写
var str4 = 'aaa'
console.log(str4.toUpperCase()); // AAA
- toLowerCase() 转换小写
// 6、toLowerCase 转换小写
var str5 = 'AAA'
console.log(str5.toLowerCase()); // aaa
综合代码:
// 字符串操作方法
// 1、str.concat('') 拼接字符串,但是一般都用 + 号
var str = 'andy'
console.log(str.concat('red'))
// 2、substr('截取的起始位置', '截取几个字符')
var str1 = '故事的小黄花'
console.log(str1.substr(2, 2)) // 的小
// 3、替换字符 replace('被替换的字符', '替换为的字符')
var str2 = 'andyandy'
console.log(str2.replace('a', 'b')) // 只能替换第一个
// 4、字符串转换为数组 split('分隔符') 前面学过 join 把数组转换为字符串
var str3 = 'red, pink, blue'
console.log(str3.split('&'))
// 5、toUpperCase 转换大写
var str4 = 'aaa'
console.log(str4.toUpperCase()); // AAA
// 6、toLowerCase 转换小写
var str5 = 'AAA'
console.log(str5.toLowerCase()); // aaa
注意:字符串所有的方法都是不可变的(不会改变值本身),操作完成会返回一个新的值
好了,今天的内容就聊完了。对于字符串和数组的操作往后的工作中运用的十分多,需要烂熟于心。有什么问题随时留言交流~