定义:String定义了一个字符串对象。定义的方法如下
定义:String s1 = “abc”; //在内存中存在一个对象。
String s2 = new String("abc"); //在内存中存在两个对象。
String s3 = "abc";
比较:s1 == s2 为false
s1 == s3 为true (相同的字符串在静态池中一旦存在,就不会再产生新的该字符串了,以后其再出现,都使用它)
String的equals方法: s1.equals(s2) == true;
字符串的不可变:字符串的不可变指的是里面的值不可变,表面看上去是可以改变,其实是地址改变了,新开辟了一个内存空间。正因为如此,在大量拼接字符串的时候会有效率问题。
字符串中常用的方法:
1. indexOf('要查找的字符',开始的位置)开始的位置是index索引号 返回指定的内容在原字符串中的位置,如果找不到就返回-1
2. lastIndexOf() 从后往前找 只找第一个匹配的
3. charAt(index) 返回指定位置的字符(index字符串的索引号) 方法:str.charAt(0)
4. charCodeAt(index) 获取指定位置出字符的ASCll码(index 索引号) 方法:str.charCodeAt(0)
5. str[index] 获取指定位置出的字符 HTML5,IE8+支持 和charAt()等效
6. concat(str1,str2,str3...) concat() 方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
7. substr(start,length) 从start位置开始(索引号) , length 取的个数 重点记住这个
8. slice(start, end) 从start位置开始,截取到end位置,end取不到 (他们俩都是索引号)
9. substring(start, end) 从start位置开始,截取到end位置,end取不到 基本和slice 相同 但是不接受负值
10. replace() 方法用于在字符串中用一些字符替换另一些字符。格式:replace(被替换的字符串, 要替换为的字符串)
11. toUpperCase() 转换大写
12. toLowerCase() 转换小写
var str = 'ANDY';
console.log(str.toLowerCase()); // andy
var str = 'andy';
console.log(str.toUpperCase()); // ANDY
13. split() 切割字符串为数组。注意:切割完毕之后返回的是一个新数组