字符串的创建
- 双引号
var str1 = "我爱我的祖国";
- 单引号
var str2 = '我爱我的祖国';
- 字符串模板
var str3 = `我爱我的祖国`;
- new 实例化字符串对象, 实例化两个对象是不相等的
var str4 = new String("我爱我的祖国");
var str5 = new String("我爱我的祖国");
alert(str4 === str5); // false
- 调用
console.log(str1,str2,str3); //没什么区别
console.log(str4,str5); // 显示的是,(0,“我”,1,“爱” 。。。);
document.write(str4,str5); // 这次显示的与其他的声明一样
字符串的操作符号
- +字符串连接符号
- += 累计链接
// 链接
var str1 = "你好";
var str1 = "世界";
var str1 = "明天见!";
alert(str1 + str2); // 你好世界
// 累计链接
var str1 = "你好";
var str1 = "世界";
var str1 = "明天见!";
var str = "";
str += str1;
str += str2;
str += str3;
alert(str); // 你好世界明天见!
字符串的转译字符,与,字符串模板(``);
- 转义字符,\n ,\" ,\’ ,等
// 字符串的转义
var str1 = "你好世界!!!"; // 如果需要换行怎么办,双引号,单引号,呢
var str2 = "你好\n世界!!!" //可以用\n
var str3 = "你\"好\"世界!!!" //可以用\" 实现双引号包裹
var str4 = "你\'好\'世界!!!" //可以用\' 实现单引号包裹
alert(str1,str2,str3,str4)
- 字符串模板(``)tab按键上方的按键,还可以通过${变量},来引入变量
// 字符串模板
var str5 = `你"好"世
界`; // 这里换行了
// 可以直接加单双引号,换行等等操作
// 字符串模板可以有变量
var name = "mumu";
var age = 18;
var str = `你好我叫${name},我今年${age}岁了`;
alert(str);
字符串的方法
slice(start,end); 字符串切割,不会破坏原有数组
// 从start(包括)下标开始,不包括end位
var str = "你可以永远相信布隆";
var s1 = str.slice(3,5);
alert(s1);
// 从start下标开始,一直到结束
var str = "你可以永远相信布隆";
var s2 = str.slice(3);
alert(s2); // 永远相信布隆
// 如果,end位是负数,从后向前计算位数,从-1开始
var str = "你可以永远相信布隆";
var s3 = str.slice(0,-3);
alert(s3); // 你可以永远相
substr(start,length) 截取字符串-按长度
// 从start开始截取(包括),截取length长度的字符串
var str = "你可以永远相信布隆";
var s1 = str.substr(3,4);
alert(s3); // 永远相信
substring(start,end) 截取字符串长度-按下标
- 都是非负,包含start,不包含end
- 如果end 小于start,会交换位置
- end可选
// 从start开始截取(包括),到end位置(不包括)
var str = "你可以永远相信布隆";
var s1 = str.substring(3,5);
alert(s3); // 永远
split(“分割符号”,limit) 字符串分割成数组
- 如果分隔符号为空,按字符一个个分割
// 按照“,”来分割
var str = '你,可以,永远相信,布隆';
var arr = str.split(",");
console.log(arr) // ["你","可以","永远相信","布隆"];
// 如果是空的
var str = '你,可以,永远相信,布隆';
var arr = str.split("");
console.log(arr) // ["你","可","以","永","远","相","信","布","隆"];
- limit 显示分割的长度
// 按照“,”来分割,有limit限制长度
var str = '你,可以,永远相信,布隆';
var arr = str.split(",",2);
console.log(arr) // ["你","可以"];
indexOf(“查找的字符串”,start) 字符串检索
- “查找的字符串” ,是需要查找的字符串,查找到,返回第一次查找到的对应的下标
// 查找”祖国“,返回对应第一次祖国的下标
var str = "我爱我的祖国,我的祖国是中国";
var p1 = str.indexOf("祖国");
alert(p1); // 4
- start 从start下标位置开始查找,对应的字符,如果找不到返回-1
// 查找"祖国",从start开始,返回对应第一次祖国的下标
var str = "我爱我的祖国,我的祖国是中国";
var p1 = str.indexOf("祖国",6);
alert(p1); // 9
lastIndexOf(“查找的字符串”,end)—查找最后一次出现的对应的字符串
- 返回字符串中,出现最后一次查找的对应的字符串的位置
// 查找"祖国",从start开始,返回对应第一次祖国的下标
var str = "我爱我的祖国,我的祖国是中国";
var p1 = str.lastIndexOf("祖国");
alert(p1); // 9
- end ,从字符产中的0的位置开始到,end的位置开始查找,最后一个对应的字符串,如果没找到,返回-1
var str = "我爱我的祖国,我的祖国是中国";
var p1 = str.lastIndexOf("祖国",3); // 从0的位置开始,到下标3 的位置,查找,祖国,没找到
alert(p1); // -1
replace(old,new)—字符串替换
- 不改变原有字符串
- old,可以使用正则表达式
var str = "我爱我的祖国,我的祖国是中国";
var p1 = str.replace("祖国","国家"); // 把祖国替换成国家
var p1 = str.replace(/祖国/g,"国家"); // 使用正则表达式 把所有祖国替换成国家
alert(p1); // 我爱我的国家,我的国家是中国
综合案例
// 编写函数,查找对应的属性,返回对应的值
var str = "abc=21321345;cde=zmm;cmm=451562";
function getVal(name) {
// start name后面等于号的位置
var start = str.indexOf(name) + name.length + 1;
// end 查找的位置的分号,从start开始
var end = str.indexOf(";",satrt);
return str.slice(start,end);
}
getVal("cde");