博主有话说:完结撒花,感谢大家对这个专栏的支持,非常感谢【✿✿ヽ(°▽°)ノ✿】
个人空间:GUIDM的个人空间
专栏内容:零基础JavaScript学习
基础还是关键。
欢迎大家的一键三连。
字符串对象
基本概念
基本包装类型:把简单数据类型包装成了复杂数据类型。(基本数据类型就有了属性和方法)
var str='andy';
console.log(str.length);
- 把简单数据类型包装成复杂数据类型
var temp=new String('andy');
- 把临时变量的值给str
str=temp;
- 销毁临时变量
temp=null;
JavaScript提供了三个特殊的引用类型:string、number、boolean
字符串的不可变
不要大量拼接字符串,因为原来的字符串也在内存中。里面的值不变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。
根据字符返回位置
字符串所有的方法都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。
1、indexOf('要查找的字符',[起始位置])
从前往后查找
var str="你是我的神";
console.log(str.indexOf('我');//2
console.log(str.indexOf('我',1);
2、lastIndexOf('要查找的字符',[起始位置])
从后往前查找
var str="你是我的神";
console.log(str.lastIndexOf('我');
根据位置返回字符(☆☆☆)
1、charAt(索引号)
返回指定位置的字符
var str="andy";
console.log(str.charAt(3));
2、遍历所有字符
for(var i=0;i<str.length;i++){
console.log(str.charAt(i));
}
3、charCodeAt(索引号)
返回ASCII码,可以来判断用户按了哪个键。
console.log(charCodeAt(o));
4、str[index]
H5新增的,有兼容问题
字符串操作方法
1、concat('字符串1','字符串2',…)
var str='cindy';
console.log(str.concat('red');
2、substr(start,length)
从start开始取length长度的字符
var str='你是我的神';
console.log(str.substr(2,2));
3、替换字符replace('被替换的字符','替换的字符')
只替换第一个字符
var str='andandand';
console.log(str.replace('a','b');//bndandand
4、字符转换为数组split('分隔符')
var str='red,pink,blue';
console.log(str.split('&'));
5、toUpperCase()转换为大写
6、toLowerCase()转换成小写
简单案例
查找‘abcdefgabcdefg’中所有g出现的位置及次数
var str='abcdefgabcdefg';
var index=str.indexOf('g');
var num=0;
while(index!==-1){
console.log(index);
num++;
index=str.indexOf('g',index+1);
}
console.log('g出现的次数是:'+num);
判断一个字符串‘abcdefgabcdefg’中出现最多的字符,统计次数
var str='abcdefgabcdefg';
var obj={};
for(var i=0;i<str.length;i++){
var chars=str.charAt(i);
if(obj[chars]){
obj[chars]++;
}else{
obj[chars]=1;
}
}
console.log(obj);
var max=0;
var ch='';
for(var k in obj){
if(obj[k]>max){
max=obj[k];
ch=k;
}
}
console.log(max);
console.log('最多的字符为'+ch);
‘abcoefoxyozzoopp’把o替换为*
var str='abcoefoxyozzoopp';
while(str.indexOf('o')!==-1){
str=str.replace('o','*');
}
console.log(str);
完结撒花,感谢大家的支持
版权归原作者 GUIDM 所有, 如有侵权,请联系我们删除。