文章目录
前言
字符串创建:
1)通过字面量的形式创建字符串 用的比较多
var str = “hello” 使用双引号包起来
var str = ‘hello’ 使用单引号包起来
2)new 一个类创建一个字符串
var str = new String(“hello”);
区别:
在控制台打印时有区别,使用起来没什么区别
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建字符串
<script>
// 创建字符串
var str1 = "hello"; //通过字面量创建
var str2 = new String("world"); //通过类创建
var str3 = " "; // 一个字符串中,也可以是空格
console.log(str1);
console.log(str2);
//字符串本身也是对象:
//str.length 获取字符串中共多少个字符
console.log(str1.length);
str1.length = 666; // 设置length属性 并不能设置成功,length是只读
console.log(str1);
console.log(str1.length);
</script>
结果如下:
二、字符串的操作
- 获取字符串长度(符串中共多少个字符)。 str.length, 空格也是一个字符。length是只读,只能获取,不能设置。
- 字符串也是有索引的,索引也是从0开始,可以通过索引来获取某个字符,但是不能设置。
- 字符串也可以遍历(取出字符串每一个字符)
<script>
var str = "hello world~";
console.log(str);
console.log("---------------------");
// 通过某个索引来获取某个字符
console.log(str[0]);
console.log(str[6]);
console.log("---------------------");
for(var i=0; i<str.length; i++){
console.log(str[i]);
}
</script>
结果如下:
三、字符串拼接
1.普通“+”拼接
之前拼接字符串靠 “+”。
代码如下(示例):
<script>
var name = "wangcai";
var age = 20;
// name+"今年"+age 叫字符串拼接
var str = name+"今年"+age; // "name 今年 age "
console.log(str);
</script>
结果如下:
2.模板字符串
模板字符串:使用的是反引号:`` 可以把一个字符串放到一个反引号中。
代码如下(示例):
<script>
var name = `xiaoqiang`; // `xiaoqiang`也表示一个字符串
var age = 110;
// 在``中可以写${} {}中可以写变量
var str = `${name}今年${age}`; // `${name}今年${age}`也是字符串
console.log(str);
var str2 = `${ 110 * 2 }~~~~~~~~~~~`;
console.log(str2);
</script>
结果如下:
四、字符串中的方法
美国发明了电脑,电脑上只需要存储美国的符号就OK a~zA-Z0~9 #$%^&*()
编码:ASCII
电脑传到其它的国家
其它的国家,需要把它的符号或字编码让电脑处理
中国:GB2312 ---> GBK --->...
.....
Unicode(UTF8) 包含了全世界所有的符号
1.charAt()
charAt:从一个字符串中返回指定的字符
<script>
var str = "hello world~";
let res = str.charAt(1)
console.log(res);
</script>
结果如下:
2.charCodeAt()
charCodeAt:方法返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元
<script>
var str = "hello world~";
var str = "中国"
let res = str.charCodeAt(0);
console.log(res);
</script>
结果如下:
3.substr()
substr:方法返回一个字符串中从指定位置开始到指定字符数的字符
<script>
var str = "hello world~";
console.log(str.substr(1,2));
</script>
结果如下:
4.substring()
substring: 方法返回一个字符串在开始索引到结束索引之间的一个子集
<script>
var str = "hello world~";
// 包前不包后
console.log(str.substring(2,4));
</script>
结果如下:
5.toUpperCase()和toLowerCase()
toUpperCase():将小写字母转换为大写字母
toLowerCase():将大写字母转换为小写字母
<script>
var str = "hello word";
console.log(str.toUpperCase());
var str2 = "AAABBB";
console.log(str2.toLowerCase());
</script>
结果如下:
五、字符串小练习
1.字符串反转
把一个字符串进行反转。如:abcdef 结果:fedcba。
<script>
// var str = "a,b,c,d,e,f,g";
// 尝试把一个字符串转成数组
// console.log(str.split(','));
var str = "abcdefg";
// 使用下面的方案前提是你需要对数组和字符串中的方法非常熟悉
// console.log(str.split("").reverse().join(""));
var res = "";
// for 遍历
for(var i=str.length-1; i>=0; i--){
// console.log(i);
console.log( str[i] );
res += str[i]
}
console.log(res);
</script>
结果如下:
2.关键字隐藏
有一串字符串:fsadfasMMdrwqlkMMjfsavnasrnMMvasdfMMsdrwe,需求是把MM替换成 **。
**方式一:**
<script>
let str = "fsadfasMMdrwqlkMMjfsavnasrnMMvasdfMMsdrwe";
while( str.indexOf("MM") !== -1 ){
str = str.replace("MM","**")
}
console.log(str);
</script>
方式二:
<script>
let str = "fsadfasMMdrwqlkMMjfsavnasrnMMvasdfMMsdrwe";
// split 把一个字符串转成数组
// join 把一个数组转成字符串
console.log(str.split("MM").join("**"));
</script>
结果如下: