JavaScript内置对象
ES标准已经规定好,由浏览器厂商已经实现的对象,开发人员直接使用,不必关心具体实现。
内置对象共有11个:
String、Number、Boolean、Array、Data、RegExp、Math、Error、Function、Object、Global.
注:
1.String、Number、Boolean属于包装类型;
2.Global即指Window.
包装类型
专门封装原始类型的数据,并提供对原始类型数据操作方法的对象。
使用:
1.试图用原始类型的值调用方法时自动创建,用完自动释放;
2.具体创建何种包装类型,要看值的类型。
为什么有包装类型?
因为,原始类型的值没有任何方法。
new String()与String()的区别:
- String():隐式类型转换为字符串,返回原始类型的字符串。
- new String():创建一个String包装类型的对象,返回String包装类型的对象。
String API
所有API都无法修改原字符串,必须返回一个新字符串。
1.大小写转换
(1).全部转小写
var newStr = str.toLowerCase();
(2).全部转大写
var newStr = str.toUpperCase();
示例1:
var str1 = "streEWfdsEfgsd";
var newStr1 = str1.toLowerCase();
console.log(newStr1);//"streewfdsefgsd"
var str2 = "streEWfdsEfgsd";
var newStr2 = str2.toUpperCase();
console.log(newStr2);//"STREEWFDSEFGSD"
2.获取指定位置的字符或unicode
(1).获取指定位置的字符
var char = str[i];//方法1
var char = str.charAt(i);//方法2
(2).获取指定位置的unicode
var unicode = str.charCodeAt(i);
示例2:
var str = "jsiykgfes";
var char1 = str[2];
var char2 = str.charAt(4);
var unicode = str.charCodeAt(5);
console.log(char1);//"i"
console.log(char2);//"k"
console.log(unicode);//103
3.查找关键字位置
返回的是关键字第一个字符的下标。
(1).找下一个匹配的关键字的位置
var i = str.indexOf("kword",starti);
如果省略starti,从0位置开始。
(2).找前一个匹配的关键字位置
var i = str.lastIndexOf("kword",starti);
如果省略starti,从最后一位开始;
starti:开始查找的位置;
如果没找到,都返回-1。
示例3:
var str = "hello world hello kitty";
var i1 = str.indexOf("world",2);
var i2 = str.indexOf("hello",0);
var i3 = str.lastIndexOf("hello");
console.log(i1);//6
console.log(i2);//0
console.log(i3);//12
4.获取子字符串
var sub = str.slice(starti,endi+1);
var sub =str.substring(starti,endi+1);
var sub = substr(starti,n);
substring:不支持负参数;
n:要获取字符的个数。
示例4:
var str = "dunskdklja";
var sub1 = str.slice(1,5);
var sub2 = str.substring(2,4);
var sub3 = str.substr(0,5);
console.log(sub1);//"unsk"
console.log(sub2);//"ns"
console.log(sub3);//"dunsk"
5.字符串切割
var m = str.split(separator,howmany);
separator:必需,字符串或者正则表达式,从指定地方分隔字符串;
howmany:可选,指定返回数组最大长度。
示例5:
var str = "hello world hello kitty";
var m1 = str.split("world",1);
var m2 = str.split("world",3);
var m3 = str.split("hello",5);
var m4 = str.split(" ",4);
console.log(m1);//["hello "]
console.log(m2);//["hello ", " hello kitty"]
console.log(m3);//["", " world ", " kitty"]
console.log(m4);//["hello", "world", "hello", "kitty"]