简单数据类型没有属性和方法,只有值。但是有的时候发现简单数据类型也可以使用属性和方法?
这是因为,在简单数据类型获取复杂数据类型属性和方法时,js为了方便会将简单数据类型包装成复杂数据类型,获取值,在得到值之后,最终会变为简单数据类型。
简单数据类型:Number , String, Boolean, null, undefined
基本包装类型: Number , Boolean , String
介绍一下简单数据类型string的一些用法,一定要和数组的方法区分开,两者不可混用
0.字符串可以和数组一样,进行遍历,但是字符串不是数组,方法不可以混用
var str=“abcde”;
for(var i =0;i<str.length;i++){
console.log(str[i]);
}
1.trim() 去除字符串首尾的空格
var str1 = ‘hello’;
var str2 = ‘world!’;
var newStr = str1.concat(str2);
2.charAt 返回指定索引出的字符
var str='abcd';
var a=str.charAt(0);
console.log(a); //‘a’
console.log(str); //'abcd'
3.charCodeAt 返回指定索引出的unicode字符
str.charCodeAt(0); //97
4.indexof 判断一个字符第一次出现在某个字符串的索引,如果包含返回它的索引,如果不包含返回-1.
str.indexOf(‘a’); //0
str.indexOf(‘e’); //-1
5.lastIndexOf 判断一个字符最后一次出现在某个字符串的索引,如果包含返回它的索引,如果不包含返回-1.
str.lastIndexOf(‘b’); //1
str.lastIndexOf('e'); //-1
6.concat拼接2个字符串,返回一个新字符串,对原有字符串没有任何改变。
var str='qwe';
var str1='abc';
var str2=str.concat(str1);
console.log(str2);//"qweabc"
7.substr(n,m) 从索引n开始,截取m个字符,将截取的字符返回,对原字符串没有任何改变。
var b=s.substr(1,1)
console.log(b); //'w'
8.substring(n,m) 从索引n开始,截取到索引m,不包括m.将截取的字符返回,对原字符串没有任何改变.
var ee=str.substring(1,3);
console.log(ee); //“bc”
9.slice(n,m) 从索引n开始,截取到索引m,不包括m.将截取的字符返回,对原字符串没有任何改变.
var aa=str.slice(0,3);
console.log(aa);//‘abc’
10.split 用指定字符分割字符串,返回一个数组.对原字符串没有任何改变。
var a=str.split(’’);
console.log(a); //["a", "b", "c", "d"]
11.replace(‘a’,1); 替换指定字符,返回替换后新的字符串,对原有字符串有改变。(第一个参数可以是正则表达式) 只能替换一次 ,配合正则模式修饰符g使用
var str=‘aaaaee’;
var reg=/a/g;
str.replace(reg,1); //“1111ee”
12.match() 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。把找到的字符放在数组里,返回一个数组。
var str=‘aaaa3ed33’;
var reg=/a/g;
str.match(reg); //[“a”, “a”, “a”, “a”]
13.search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
14.toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。
例如:
var str = "ABCabc";
str.toLowerCase();
结果:abcabc
15.toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。
例如:
var str = "ABCabc";
str.toUpperCase();
结果:ABCABC